Index: configure.in
===================================================================
--- configure.in	(revision 2500)
+++ configure.in	(working copy)
@@ -131,7 +131,7 @@
 
 AC_ARG_ENABLE(gtk, [  --enable-gtk          Enable GTK+ support (for gconf-sanity-check) [default=auto]], enable_gtk="$enableval", enable_gtk=auto)
 
-PKGCONFIG_MODULES='glib-2.0 > 2.9.0 gmodule-2.0 >= 2.7.0 gobject-2.0 >= 2.7.0 ORBit-2.0 >= 2.4.0'
+PKGCONFIG_MODULES='glib-2.0 > 2.9.0 gmodule-2.0 >= 2.7.0 gobject-2.0 >= 2.7.0 ORBit-2.0 >= 2.4.0 dbus-1 >= 1.0'
 PKGCONFIG_MODULES_WITH_XML="$PKGCONFIG_MODULES libxml-2.0"
 PKGCONFIG_MODULES_WITH_GTK=" $PKGCONFIG_MODULES gtk+-2.0 >= 2.0.0"
 PKGCONFIG_MODULES_WITH_XML_AND_GTK=" $PKGCONFIG_MODULES gtk+-2.0 libxml-2.0"
Index: gconf/gconfd.c
===================================================================
--- gconf/gconfd.c	(revision 2500)
+++ gconf/gconfd.c	(working copy)
@@ -27,6 +27,8 @@
 
 #include <config.h>
 
+#include <dbus/dbus.h>
+
 #include "gconf-internals.h"
 #include "gconf-sources.h"
 #include "gconf-listeners.h"
@@ -597,6 +599,8 @@
 #endif
   CORBA_Environment ev;
   CORBA_ORB orb;
+  DBusConnection *connection;
+  DBusError dbus_error;
   gchar* logname;
   const gchar* username;
   gchar* ior;
@@ -732,6 +736,13 @@
   gconf_set_daemon_ior (ior);
   CORBA_free (ior);
 
+  dbus_error_init (&dbus_error);
+  /* Now connect to D-BUS so we get scoped to the session */
+  connection = dbus_bus_get (DBUS_BUS_SESSION, &dbus_error);
+  if (dbus_error_is_set (&dbus_error)) {
+    gconf_log (GCL_ERR, _("Failed to connect to session bus: %s"), dbus_error.message);
+  }
+
   gconfd_dir = gconf_get_daemon_dir ();
   lock_dir = gconf_get_lock_dir ();
   
