diff -up libbonobo-2.22.0/activation-server/activation-server-main.c.get-on-d-bus libbonobo-2.22.0/activation-server/activation-server-main.c
--- libbonobo-2.22.0/activation-server/activation-server-main.c.get-on-d-bus	2008-04-29 14:18:57.000000000 -0400
+++ libbonobo-2.22.0/activation-server/activation-server-main.c	2008-04-29 14:19:00.000000000 -0400
@@ -54,6 +54,8 @@
 
 #include <glib/gstdio.h>
 
+#include <dbus/dbus-glib-lowlevel.h>
+
 static gboolean        server_threaded = FALSE;
 static glong           server_guard_depth = 0;
 static GStaticRecMutex server_guard = G_STATIC_REC_MUTEX_INIT;
@@ -398,6 +400,8 @@ main (int argc, char *argv[])
 	const gchar                  *debug_output_env;
 #endif
 	GError                       *error = NULL;
+        DBusConnection               *connection;
+        DBusError                     bus_error;
 
 #ifdef HAVE_SETSID
         /*
@@ -535,6 +539,18 @@ main (int argc, char *argv[])
 
 	od_finished_internal_registration (); 
 
+        dbus_error_init (&bus_error);
+        connection = dbus_bus_get (DBUS_BUS_SESSION, &bus_error);
+
+        if (dbus_error_is_set (&bus_error)) {
+                g_warning ("could not associate with desktop session: %s",
+                           bus_error.message);
+                connection = NULL;
+        } else {
+                dbus_connection_setup_with_g_main (connection,
+                                                   g_main_loop_get_context (main_loop));
+        }
+
         if (getenv ("BONOBO_ACTIVATION_DEBUG") == NULL)
                 chdir ("/");
 
diff -up libbonobo-2.22.0/configure.in.get-on-d-bus libbonobo-2.22.0/configure.in
--- libbonobo-2.22.0/configure.in.get-on-d-bus	2008-04-29 14:18:47.000000000 -0400
+++ libbonobo-2.22.0/configure.in	2008-04-29 14:19:06.000000000 -0400
@@ -121,6 +121,8 @@ PKG_CHECK_MODULES(SERVER, \
 	gmodule-2.0 >= 2.0.1 \
 	ORBit-2.0 >= 2.4.0 \
 	ORBit-CosNaming-2.0 >= 2.4.0 \
+	dbus-1 >= 1.0.0 \
+	dbus-glib-1 >= 0.74 \
 	libxml-2.0 >= 2.4.20)
 AC_SUBST(SERVER_LIBS)
 AC_SUBST(SERVER_CFLAGS)
