diff -Nur gnome-vfs2-2.15.92/libgnomevfs/gnome-vfs-hal-mounts.c gnome-vfs2-2.15.92.new/libgnomevfs/gnome-vfs-hal-mounts.c
--- gnome-vfs2-2.15.92/libgnomevfs/gnome-vfs-hal-mounts.c	2006-08-22 10:40:05.000000000 +0200
+++ gnome-vfs2-2.15.92.new/libgnomevfs/gnome-vfs-hal-mounts.c	2006-08-22 10:42:53.000000000 +0200
@@ -39,6 +39,7 @@
 
 #include <glib.h>
 #include <glib/gi18n-lib.h>
+#include <glib/gstdio.h>
 #include <libgnomevfs/gnome-vfs-utils.h>
 
 #include <libhal.h>
@@ -699,6 +700,10 @@
 		mount_point = libhal_volume_get_mount_point (hal_volume);
 		/* blacklist fhs2.3 top level mount points */
 		if (mount_point != NULL) {
+			/* also ignore mounts which are inaccessible for the user */
+			if (g_access (mount_point, R_OK) != 0)
+				goto out;
+
 			for (i = 0; fhs23_toplevel_mount_points[i] != NULL; i++) {
 				if (strcmp (mount_point, fhs23_toplevel_mount_points[i]) == 0)
 					goto out;
diff -Nur gnome-vfs2-2.15.92/libgnomevfs/gnome-vfs-volume-monitor-daemon.c gnome-vfs2-2.15.92.new/libgnomevfs/gnome-vfs-volume-monitor-daemon.c
--- gnome-vfs2-2.15.92/libgnomevfs/gnome-vfs-volume-monitor-daemon.c	2006-08-22 10:40:04.000000000 +0200
+++ gnome-vfs2-2.15.92.new/libgnomevfs/gnome-vfs-volume-monitor-daemon.c	2006-08-22 10:48:11.000000000 +0200
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <libgnomevfs/gnome-vfs-utils.h>
 #include <glib/gi18n-lib.h>
+#include <glib/gstdio.h>
 
 #include "gnome-vfs-volume-monitor-daemon.h"
 #include "gnome-vfs-volume-monitor-private.h"
@@ -1058,6 +1059,11 @@
 		     l != NULL;
 		     l = l->next, ld = ld->next) {
 			GnomeVFSUnixMount *mount = l->data;
+
+			/* ignore inaccessible mounts */
+			if (mount->mount_path && g_access (mount->mount_path, R_OK) != 0)
+				continue;
+
 			dev_t unix_device = GPOINTER_TO_UINT (ld->data);
 		
 			vol = create_vol_from_mount (volume_monitor, mount);
