diff --git a/modules/module-si-adapter.c b/modules/module-si-adapter.c
index cece38e0dc092fa0ecbb1094b4eb5702532aa7ad..1d93d7e83606356698a43ba3b9c188bd1d8063a7 100644
--- a/modules/module-si-adapter.c
+++ b/modules/module-si-adapter.c
@@ -446,7 +446,10 @@ si_adapter_get_stream_properties (WpSiStream * self)
 static WpSiEndpoint *
 si_adapter_get_stream_parent_endpoint (WpSiStream * self)
 {
-  return WP_SI_ENDPOINT (g_object_ref (self));
+  WpSessionItem *parent = wp_session_item_get_parent (WP_SESSION_ITEM (self));
+  if (!parent)
+    parent = g_object_ref (WP_SESSION_ITEM (self));
+  return WP_SI_ENDPOINT (parent);
 }
 
 static void