--- GConf-2.24.0/gconf/gconf.c-orig	2008-10-09 22:15:02.462081000 +0000
+++ GConf-2.24.0/gconf/gconf.c	2008-10-09 23:29:29.216373000 +0000
@@ -556,6 +556,7 @@ GConfEngine*
 gconf_engine_get_default (void)
 {
   GConfEngine* conf = NULL;
+  GError *err = NULL;
   
   if (default_engine)
     conf = default_engine;
@@ -572,7 +573,7 @@ gconf_engine_get_default (void)
        * since we aren't starting if it isn't found, we'll probably
        * get errors half the time anyway.
        */
-      gconf_engine_connect (conf, FALSE, NULL);
+      gconf_engine_connect (conf, FALSE, &err);
     }
   else
     conf->refcount += 1;
@@ -2233,6 +2234,11 @@ try_to_contact_server (gboolean start_if
   /* Try to launch server */      
   server = gconf_activate_server (start_if_not_found,
                                   err);
+  if (server == CORBA_OBJECT_NIL) {
+    unsetenv ("DBUS_SESSION_BUS_ADDRESS");
+    server = gconf_activate_server (start_if_not_found,
+                                    err);
+  }
     
   /* Try to ping server, by adding ourselves as a client */
   CORBA_exception_init (&ev);   
