diff --git a/gio/tests/gdbus-introspection.c b/gio/tests/gdbus-introspection.c
index 0afeb7a..17a1870 100644
--- a/gio/tests/gdbus-introspection.c
+++ b/gio/tests/gdbus-introspection.c
@@ -108,8 +108,6 @@ test_introspection_parser (void)
   GDBusConnection *connection;
   GError *error;
 
-  session_bus_up ();
-
   error = NULL;
   connection = g_bus_get_sync (G_BUS_TYPE_SESSION,
                                NULL,
@@ -303,13 +301,15 @@ int
 main (int   argc,
       char *argv[])
 {
+  gint ret;
+
   g_type_init ();
   g_test_init (&argc, &argv, NULL);
 
   /* all the tests rely on a shared main loop */
   loop = g_main_loop_new (NULL, FALSE);
 
-  g_test_dbus_unset ();
+  session_bus_up ();
 
   g_test_add_func ("/gdbus/introspection-parser", test_introspection_parser);
   g_test_add_func ("/gdbus/introspection-generate", test_generate);
@@ -319,5 +319,9 @@ main (int   argc,
   g_test_add_func ("/gdbus/introspection-extra-data", test_extra_data);
 #endif
 
-  return g_test_run();
+  ret = g_test_run ();
+
+  session_bus_down ();
+
+  return ret;
 }
diff --git a/gio/tests/gdbus-proxy-threads.c b/gio/tests/gdbus-proxy-threads.c
index 69047e2..14131ee 100644
--- a/gio/tests/gdbus-proxy-threads.c
+++ b/gio/tests/gdbus-proxy-threads.c
@@ -229,6 +229,10 @@ test_proxy (void)
 
   g_object_unref (connection);
   g_main_loop_unref (loop);
+
+  /* TODO: should call session_bus_down() but that requires waiting
+   * for all the oustanding method calls to complete...
+   */
 }
 
 int
diff --git a/gio/tests/gdbus-proxy.c b/gio/tests/gdbus-proxy.c
index cdaa2ba..31ee1f0 100644
--- a/gio/tests/gdbus-proxy.c
+++ b/gio/tests/gdbus-proxy.c
@@ -739,8 +739,6 @@ test_proxy (void)
   GDBusConnection *connection;
   GError *error;
 
-  session_bus_up ();
-
   error = NULL;
   connection = g_bus_get_sync (G_BUS_TYPE_SESSION,
                                NULL,
@@ -889,7 +887,7 @@ main (int   argc,
   /* all the tests rely on a shared main loop */
   loop = g_main_loop_new (NULL, FALSE);
 
-  g_test_dbus_unset ();
+  session_bus_up ();
 
   g_test_add_func ("/gdbus/proxy", test_proxy);
   g_test_add_func ("/gdbus/proxy/no-properties", test_no_properties);
@@ -899,5 +897,7 @@ main (int   argc,
   ret = g_test_run();
 
   g_dbus_node_info_unref (introspection_data);
+
+  session_bus_down ();
   return ret;
 }
