Index: libpanel-applet/panel-applet.c
===================================================================
RCS file: /cvs/gnome/gnome-panel/libpanel-applet/panel-applet.c,v
retrieving revision 1.101
diff -u -3 -p -u -r1.101 panel-applet.c
--- libpanel-applet/panel-applet.c	9 Jan 2006 20:00:29 -0000	1.101
+++ libpanel-applet/panel-applet.c	6 Jul 2006 16:29:49 -0000
@@ -1156,9 +1156,18 @@ panel_applet_update_background_for_widge
 	case PANEL_NO_BACKGROUND:
 		break;
 	case PANEL_COLOR_BACKGROUND:
-		gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, color);
+		rc_style = gtk_widget_get_modifier_style (widget);
+		g_free (rc_style->bg_pixmap_name[GTK_STATE_NORMAL]);
+		rc_style->bg_pixmap_name[GTK_STATE_NORMAL] = g_strdup ("<none>");
+		rc_style->bg[GTK_STATE_NORMAL] = *color;
+		rc_style->color_flags[GTK_STATE_NORMAL] |= GTK_RC_BG;
+		gtk_widget_modify_style (widget, rc_style);
 		break;
 	case PANEL_PIXMAP_BACKGROUND:
+		rc_style = gtk_widget_get_modifier_style (widget);
+		g_free (rc_style->bg_pixmap_name[GTK_STATE_NORMAL]);
+		rc_style->bg_pixmap_name[GTK_STATE_NORMAL] = g_strdup ("<none>");
+		gtk_widget_modify_style (widget, rc_style);
 		style = gtk_style_copy (widget->style);
 		if (style->bg_pixmap[GTK_STATE_NORMAL])
 			g_object_unref (style->bg_pixmap[GTK_STATE_NORMAL]);
