Index: gnome-panel/menu.c
===================================================================
--- gnome-panel/menu.c	(revision 11578)
+++ gnome-panel/menu.c	(working copy)
@@ -86,15 +86,6 @@
 					      GdkEventKey *event);
 
 static inline gboolean
-panel_menu_have_icons (void)
-{	
-	return gconf_client_get_bool (
-			panel_gconf_get_client (),
-			"/desktop/gnome/interface/menus_have_icons",
-			NULL);
-}
-
-static inline gboolean
 desktop_is_home_dir (void)
 {	
 	return gconf_client_get_bool (
@@ -190,51 +181,6 @@
 }
 
 static void
-menus_have_icons_changed (GConfClient *client,
-			  guint        cnxn_id,
-			  GConfEntry  *entry,
-			  GtkWidget   *menu)
-{
-	GConfValue *value;
-	GList      *list, *l;
-	gboolean    have_icons = TRUE;
-
-	value = gconf_entry_get_value (entry);
-
-	if (value != NULL && value->type == GCONF_VALUE_BOOL)
-		have_icons = gconf_value_get_bool (value);
-
-	list = g_list_copy (GTK_MENU_SHELL (menu)->children);
-	for (l = list; l; l = l->next) {
-		GtkWidget *item = l->data;
-		GtkWidget *cur_image;
-		GtkWidget *image;
-
-		if (!GTK_IS_IMAGE_MENU_ITEM (item))
-			continue;
-
-		image = g_object_get_data (G_OBJECT (item), "Panel:Image");
-		if (!image)
-			continue;
-
-		cur_image = gtk_image_menu_item_get_image (
-					GTK_IMAGE_MENU_ITEM (item));
-
-		if (have_icons) {
-			if (cur_image != image) {
-				gtk_image_menu_item_set_image (
-					GTK_IMAGE_MENU_ITEM (item), image);
-				gtk_widget_show (image);
-			}
-		} else {
-			gtk_image_menu_item_set_image (
-				GTK_IMAGE_MENU_ITEM (item), NULL);
-		}
-	}
-	g_list_free (list);
-}
-
-static void
 reload_image_menu_items (void)
 {
 	GSList *l;
@@ -278,10 +224,6 @@
 	
 	retval = gtk_menu_new ();
 	gtk_widget_set_name (retval, "gnome-panel-main-menu");
-	
-	panel_gconf_notify_add_while_alive ("/desktop/gnome/interface/menus_have_icons",
-					    (GConfClientNotifyFunc) menus_have_icons_changed,
-					    G_OBJECT (retval));
 
 	g_signal_connect (retval, "key_press_event",
 			  G_CALLBACK (panel_menu_key_press_handler),
@@ -1282,9 +1224,7 @@
 					g_object_ref (image),
 					(GDestroyNotify) g_object_unref);
 		gtk_widget_show (image);
-		if (panel_menu_have_icons ())
-			gtk_image_menu_item_set_image (
-				GTK_IMAGE_MENU_ITEM (menuitem), image);
+                gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menuitem), image);
 	} else if (icon_size != GTK_ICON_SIZE_INVALID)
 		g_signal_connect (menuitem, "size_request",
 				  G_CALLBACK (image_menuitem_size_request),
@@ -1466,14 +1406,24 @@
 	return menu;
 }
 
+GtkWidget *
+panel_image_menu_item_new (void)
+{
+	GtkWidget *menuitem;
+
+	menuitem = gtk_image_menu_item_new ();
+	gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem),
+						   TRUE);
+	return menuitem;
+}
+
 static GtkWidget *
 create_submenu_entry (GtkWidget          *menu,
 		      GMenuTreeDirectory *directory)
 {
 	GtkWidget *menuitem;
 
-	menuitem = gtk_image_menu_item_new ();
-
+	menuitem = panel_image_menu_item_new ();
 	panel_load_menu_image_deferred (menuitem,
 					panel_menu_icon_get_size (),
 					NULL, NULL,
@@ -1537,7 +1487,7 @@
 {
 	GtkWidget  *menuitem;
 	
-	menuitem = gtk_image_menu_item_new ();
+	menuitem = panel_image_menu_item_new ();
 
 	g_object_set_data_full (G_OBJECT (menuitem),
 				"panel-menu-tree-entry",
@@ -1934,11 +1884,9 @@
 				"Panel:Image",
 				g_object_ref (image),
 				(GDestroyNotify) g_object_unref);
- 
-	if (panel_menu_have_icons ())
-		gtk_image_menu_item_set_image (
-			GTK_IMAGE_MENU_ITEM (image_menu_item), image);
 
+		gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (image_menu_item), image);
+
 	g_signal_connect_data (image, "map",
 			       G_CALLBACK (image_menu_shown), icon,
 			       (GClosureNotify) icon_to_load_free, 0);
Index: gnome-panel/menu.h
===================================================================
--- gnome-panel/menu.h	(revision 11578)
+++ gnome-panel/menu.h	(working copy)
@@ -54,6 +54,8 @@
 
 GtkWidget *	panel_create_menu              (void);
 
+GtkWidget *	panel_image_menu_item_new      (void);
+
 GdkPixbuf *	panel_make_menu_icon (GtkIconTheme *icon_theme,
 				      const char   *icon,
 				      const char   *fallback,
Index: gnome-panel/panel-recent.c
===================================================================
--- gnome-panel/panel-recent.c	(revision 11578)
+++ gnome-panel/panel-recent.c	(working copy)
@@ -188,7 +188,7 @@
 	GtkWidget      *menu_item;
 	int             size;
 
-	menu_item = gtk_image_menu_item_new ();
+	menu_item = panel_image_menu_item_new ();
 	setup_menu_item_with_icon (menu_item,
 				   panel_menu_icon_get_size (),
 				   PANEL_ICON_RECENT,
Index: gnome-panel/panel-menu-items.c
===================================================================
--- gnome-panel/panel-menu-items.c	(revision 11578)
+++ gnome-panel/panel-menu-items.c	(working copy)
@@ -237,7 +237,7 @@
 	else
 		name = g_strdup (force_name);
 
-	item = gtk_image_menu_item_new ();
+	item = panel_image_menu_item_new ();
 	setup_menu_item_with_icon (item, panel_menu_icon_get_size (),
 				   icon, NULL, NULL, name);
 
@@ -283,7 +283,7 @@
 	GtkWidget *item;
 	char      *user_data;
 
-	item = gtk_image_menu_item_new ();
+	item = panel_image_menu_item_new ();
 	setup_menu_item_with_icon (item,
 				   panel_menu_icon_get_size (),
 				   icon_name, NULL, gicon,
@@ -426,7 +426,7 @@
 	} else {
 		GtkWidget *item;
 
-		item = gtk_image_menu_item_new ();
+		item = panel_image_menu_item_new ();
 		setup_menu_item_with_icon (item, panel_menu_icon_get_size (),
 					   PANEL_ICON_BOOKMARKS, NULL, NULL,
 					   _("Bookmarks"));
@@ -555,7 +555,7 @@
 	icon = g_drive_get_icon (drive);
 	title = g_drive_get_name (drive);
 
-	item = gtk_image_menu_item_new ();
+	item = panel_image_menu_item_new ();
 	setup_menu_item_with_icon (item,
 				   panel_menu_icon_get_size (),
 				   NULL, NULL, icon,
@@ -655,7 +655,7 @@
 	icon = g_volume_get_icon (volume);
 	title = g_volume_get_name (volume);
 
-	item = gtk_image_menu_item_new ();
+	item = panel_image_menu_item_new ();
 	setup_menu_item_with_icon (item,
 				   panel_menu_icon_get_size (),
 				   NULL, NULL, icon,
@@ -866,7 +866,7 @@
 	} else {
 		GtkWidget  *item;
 
-		item = gtk_image_menu_item_new ();
+		item = panel_image_menu_item_new ();
 		setup_menu_item_with_icon (item, panel_menu_icon_get_size (),
 					   PANEL_ICON_REMOVABLE_MEDIA,
 					   NULL, NULL,
@@ -953,7 +953,7 @@
 	} else {
 		GtkWidget  *item;
 
-		item = gtk_image_menu_item_new ();
+		item = panel_image_menu_item_new ();
 		setup_menu_item_with_icon (item, panel_menu_icon_get_size (),
 					   PANEL_ICON_NETWORK_SERVER,
 					   NULL, NULL,
