diff --git a/tests/modules/si-standard-link.c b/tests/modules/si-standard-link.c
index 56ebe3111cce71e04acbb49e8808326e2b63a3a2..c88b7d9f136429c4e94b727870be66e6036ce36c 100644
--- a/tests/modules/si-standard-link.c
+++ b/tests/modules/si-standard-link.c
@@ -127,9 +127,21 @@ test_si_standard_link_setup (TestFixture * f, gconstpointer user_data)
   f->sink_item = load_endpoint (f, "fakesink", "Audio/Sink");
 }
 
+static void
+on_core_sync_done (WpCore *core, GAsyncResult *res, TestFixture * f)
+{
+  g_autoptr (GError) error = NULL;
+  gboolean ret = wp_core_sync_finish (core, res, &error);
+  g_assert_no_error (error);
+  g_assert_true (ret);
+  g_main_loop_quit (f->base.loop);
+}
+
 static void
 test_si_standard_link_teardown (TestFixture * f, gconstpointer user_data)
 {
+  wp_core_sync (f->base.core, NULL, (GAsyncReadyCallback) on_core_sync_done, f);
+  g_main_loop_run (f->base.loop);
   g_clear_object (&f->sink_item);
   g_clear_object (&f->src_item);
   g_clear_object (&f->session);