diff --git a/glib/gio/tests/gdbus-connection.c b/glib/gio/tests/gdbus-connection.c
index 866e27c..64195c2 100644
--- a/glib/gio/tests/gdbus-connection.c
+++ b/glib/gio/tests/gdbus-connection.c
@@ -264,8 +264,9 @@ test_connection_life_cycle (void)
   g_assert (!g_dbus_connection_is_closed (c));
   g_dbus_connection_set_exit_on_close (c, FALSE);
   session_bus_down ();
-  if (!g_dbus_connection_is_closed (c))
-    _g_assert_signal_received (c, "closed");
+
+  /* wait for 'closed' signal */
+  _g_assert_signal_received (c, "closed");
   g_assert (g_dbus_connection_is_closed (c));
 
   _g_object_wait_for_single_ref (c);
