diff -urN nautilus-3.2.1.org/libnautilus-private/nautilus-desktop-background.c nautilus-3.2.1/libnautilus-private/nautilus-desktop-background.c
--- nautilus-3.2.1.org/libnautilus-private/nautilus-desktop-background.c	2011-09-13 07:14:31.000000000 +0800
+++ nautilus-3.2.1/libnautilus-private/nautilus-desktop-background.c	2011-11-09 14:41:34.037435603 +0800
@@ -46,8 +46,6 @@
 static void free_fade (NautilusDesktopBackground *self);
 static void queue_background_change (NautilusDesktopBackground *self);
 
-static NautilusDesktopBackground *singleton = NULL;
-
 G_DEFINE_TYPE (NautilusDesktopBackground, nautilus_desktop_background, G_TYPE_OBJECT);
 
 enum {
@@ -514,10 +510,7 @@
                                          GObjectConstructParam *construct_params)
 {
         GObject *retval;
-
-        if (singleton != NULL) {
-                return g_object_ref (singleton);
-        }
+	    NautilusDesktopBackground *singleton = NULL;
 
         retval = G_OBJECT_CLASS (nautilus_desktop_background_parent_class)->constructor
                 (type, n_construct_params, construct_params);
