diff --git a/lib/wp/policy.c b/lib/wp/policy.c
index 21aa034c7ffc39b98b83678e354aa877c66b9ecd..690570a70a465415b7db70d82ed8a53800a0e1e5 100644
--- a/lib/wp/policy.c
+++ b/lib/wp/policy.c
@@ -64,16 +64,12 @@ policy_mgr_endpoint_added (WpObjectManager *om, WpEndpoint *ep,
 {
   GList *l;
   WpPolicy *p;
-  gboolean handled = FALSE;
 
   for (l = g_list_first (self->policies); l; l = g_list_next (l)) {
     p = WP_POLICY (l->data);
 
     if (WP_POLICY_GET_CLASS (p)->endpoint_added)
       WP_POLICY_GET_CLASS (p)->endpoint_added (p, ep);
-
-    if (!handled && WP_POLICY_GET_CLASS (p)->handle_endpoint)
-      handled = WP_POLICY_GET_CLASS (p)->handle_endpoint (p, ep);
   }
 }
 
@@ -208,21 +204,6 @@ wp_policy_manager_list_endpoints (WpPolicyManager * self,
  * This is only informative, to be used for internal bookeeping purposes.
  */
 
-/**
- * WpPolicyClass::handle_endpoint:
- * @self: the policy
- * @ep: the endpoint
- *
- * Called when a new endpoint has been added.
- * The policy is meant to decide if this endpoint needs to be linked
- * somewhere and if so, create the link.
- * This will only be called if no other higher-ranked policy has already
- * handled this endpoint.
- *
- * Returns: TRUE if this policy did handle the endpoint, FALSE to let some
- *   lower-ranked policy to try
- */
-
 /**
  * WpPolicyClass::find_endpoint:
  * @self: the policy
diff --git a/lib/wp/policy.h b/lib/wp/policy.h
index f794d34e37a877528d6f7840ad1bed4a4bc78fcb..7783942a1f07584c9e8c1d94885a679235c3ae11 100644
--- a/lib/wp/policy.h
+++ b/lib/wp/policy.h
@@ -46,8 +46,6 @@ struct _WpPolicyClass
   void (*endpoint_added) (WpPolicy *self, WpEndpoint *ep);
   void (*endpoint_removed) (WpPolicy *self, WpEndpoint *ep);
 
-  gboolean (*handle_endpoint) (WpPolicy *self, WpEndpoint *ep);
-
   WpEndpoint * (*find_endpoint) (WpPolicy *self, GVariant *props,
       guint32 *stream_id);
 };