diff --git a/lib/wp/endpoint-link.c b/lib/wp/endpoint-link.c
index b341e4bc2f615cea99980b12eac7829d8197a124..d5ba02cdd1784c01797060cad2610a6f809f50b8 100644
--- a/lib/wp/endpoint-link.c
+++ b/lib/wp/endpoint-link.c
@@ -82,7 +82,8 @@ wp_endpoint_link_get_properties (WpProxy * proxy)
   WpEndpointLink *self = WP_ENDPOINT_LINK (proxy);
   WpEndpointLinkPrivate *priv = wp_endpoint_link_get_instance_private (self);
 
-  return wp_properties_ref (priv->properties);
+  return priv->properties ?
+      wp_properties_ref (priv->properties) : wp_properties_new_empty ();
 }
 
 static struct spa_param_info *
diff --git a/lib/wp/endpoint-stream.c b/lib/wp/endpoint-stream.c
index a84bf9454e6855ba02a13750f3b4f4564a425f83..dff6940a6f71c4e6dd3c67d501f46589e6281bb9 100644
--- a/lib/wp/endpoint-stream.c
+++ b/lib/wp/endpoint-stream.c
@@ -80,7 +80,8 @@ wp_endpoint_stream_get_properties (WpProxy * proxy)
   WpEndpointStream *self = WP_ENDPOINT_STREAM (proxy);
   WpEndpointStreamPrivate *priv = wp_endpoint_stream_get_instance_private (self);
 
-  return wp_properties_ref (priv->properties);
+  return priv->properties ?
+      wp_properties_ref (priv->properties) : wp_properties_new_empty ();
 }
 
 static struct spa_param_info *
diff --git a/lib/wp/endpoint.c b/lib/wp/endpoint.c
index 1017992fb2dfd5c36d1c34df27e994e6f0bc9a92..2ee68f45c69df1f10c62b815494f8e30465e8a5e 100644
--- a/lib/wp/endpoint.c
+++ b/lib/wp/endpoint.c
@@ -173,7 +173,8 @@ wp_endpoint_get_properties (WpProxy * proxy)
   WpEndpoint *self = WP_ENDPOINT (proxy);
   WpEndpointPrivate *priv = wp_endpoint_get_instance_private (self);
 
-  return wp_properties_ref (priv->properties);
+  return priv->properties ?
+      wp_properties_ref (priv->properties) : wp_properties_new_empty ();
 }
 
 static struct spa_param_info *
diff --git a/lib/wp/session.c b/lib/wp/session.c
index 68b6210699dd79579cebfa14dcce53b3359b5981..d150ba28bc33f1aa1076d0e3d770fae0695cfa15 100644
--- a/lib/wp/session.c
+++ b/lib/wp/session.c
@@ -193,7 +193,8 @@ wp_session_get_properties (WpProxy * proxy)
   WpSession *self = WP_SESSION (proxy);
   WpSessionPrivate *priv = wp_session_get_instance_private (self);
 
-  return wp_properties_ref (priv->properties);
+  return priv->properties ?
+      wp_properties_ref (priv->properties) : wp_properties_new_empty ();
 }
 
 static struct spa_param_info *