--- /usr/tmp/clean/nautilus-2.22.2/src/nautilus-bookmark-list.c	2008-03-29 09:40:25.000000000 +0000
+++ nautilus-2.22.2/src/nautilus-bookmark-list.c	2008-05-02 10:12:24.904444000 +0100
@@ -182,12 +182,25 @@
 }
 
 static void
+appearance_changed_callback (NautilusBookmark     *bookmark,
+				   NautilusBookmarkList *bookmarks)
+{
+	g_assert (NAUTILUS_IS_BOOKMARK (bookmark));
+	g_assert (NAUTILUS_IS_BOOKMARK_LIST (bookmarks));
+
+	g_signal_emit (bookmarks, signals[CONTENTS_CHANGED], 0);
+}
+
+static void
 stop_monitoring_bookmark (NautilusBookmarkList *bookmarks,
 			  NautilusBookmark     *bookmark)
 {
 	g_signal_handlers_disconnect_by_func (bookmark,
 					      bookmark_in_list_changed_callback,
 					      bookmarks);
+	g_signal_handlers_disconnect_by_func (bookmark,
+					      appearance_changed_callback,
+					      bookmarks);
 }
 
 static void
@@ -227,7 +240,7 @@
 	bookmarks->list = g_list_insert (bookmarks->list, bookmark, index);
 
 	g_signal_connect_object (bookmark, "appearance_changed",
-				 G_CALLBACK (bookmark_in_list_changed_callback), bookmarks, 0);
+				 G_CALLBACK (appearance_changed_callback), bookmarks, 0);
 	g_signal_connect_object (bookmark, "contents_changed",
 				 G_CALLBACK (bookmark_in_list_changed_callback), bookmarks, 0);
 }
