Index: gnome-settings-daemon-3.2.0/plugins/xrandr/gsd-xrandr-manager.c
===================================================================
--- gnome-settings-daemon-3.2.0.orig/plugins/xrandr/gsd-xrandr-manager.c	2011-09-28 14:35:35.004899511 +0200
+++ gnome-settings-daemon-3.2.0/plugins/xrandr/gsd-xrandr-manager.c	2011-09-28 14:44:45.308889784 +0200
@@ -2071,8 +2071,17 @@
         if (connection == NULL) {
                 g_warning ("Could not get session bus: %s", error->message);
                 g_error_free (error);
+                g_object_unref (manager);
                 return;
         }
+
+        if (!manager->priv->introspection_data) {
+                /* We have already been stopped */
+                g_object_unref (connection);
+                g_object_unref (manager);
+                return;
+        }
+
         manager->priv->connection = connection;
 
         g_dbus_connection_register_object (connection,
@@ -2082,6 +2091,7 @@
                                            manager,
                                            NULL,
                                            NULL);
+        g_object_unref (manager);
 }
 
 static void
@@ -2090,6 +2100,7 @@
         manager->priv->introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, NULL);
         g_assert (manager->priv->introspection_data != NULL);
 
+        g_object_ref (manager);
         g_bus_get (G_BUS_TYPE_SESSION,
                    NULL,
                    (GAsyncReadyCallback) on_bus_gotten,
