diff -ru gnome-utils-2.20.0.1/baobab/src/baobab-utils.c gnome-utils-2.20.0.1-fixed/baobab/src/baobab-utils.c
--- gnome-utils-2.20.0.1/baobab/src/baobab-utils.c	2007-09-06 09:49:03.000000000 -0400
+++ gnome-utils-2.20.0.1-fixed/baobab/src/baobab-utils.c	2008-04-18 19:47:57.000000000 -0400
@@ -48,24 +48,32 @@
 	size_t i;
 	glibtop_mountlist mountlist;
 	glibtop_mountentry *mountentries;
-
+	GSList *fslist = NULL;
 	memset (fs, 0, sizeof *fs);
 
 	mountentries = glibtop_get_mountlist (&mountlist, FALSE);
 
 	for (i = 0; i < mountlist.number; ++i) {
 		glibtop_fsusage fsusage;
+		struct stat sbuf;

 		if (is_excluded_dir (mountentries[i].mountdir))
 			continue;
+
+		if (stat(mountentries[i].mountdir, &sbuf))
+			continue;
 
-		glibtop_get_fsusage (&fsusage, mountentries[i].mountdir);
+		if (g_slist_find(fslist, GUINT_TO_POINTER(sbuf.st_dev)) != NULL)
+			continue;
+		fslist = g_slist_append(fslist, GUINT_TO_POINTER(sbuf.st_dev));
 
+		glibtop_get_fsusage (&fsusage, mountentries[i].mountdir);
 		/*  v.1.1.1 changed bavail with bfree) */
 		fs->total += fsusage.blocks * fsusage.block_size;
 		fs->avail += fsusage.bfree * fsusage.block_size;
 		fs->used += (fsusage.blocks - fsusage.bfree) * fsusage.block_size;
 	}
+	g_slist_free(fslist);
 
 	g_free (mountentries);
 }
