diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c
index 054c331..34a36ea 100644
--- a/ospfd/ospfd.c
+++ b/ospfd/ospfd.c
@@ -686,17 +686,31 @@
    *   PtP special case: network specified == iface peer addr -> ospf
    */
 
-  /* For PtP, match if peer address matches network address exactly
-   * in situations where the peer address is available and the prefix
-   * length is 32 (i.e. a dedicated subnet has not been assigned).
-   * This is not a test for falling within the prefix.  This
+  /* For PtP, match if peer address matches network address exactly.
+   * This can be addr/32 or addr/p for p < 32, but the addr must match
+   * exactly; this is not a test for falling within the prefix.  This
    * test is solely for compatibility with zebra.
-   *
-   * If not PtP, accept if the address is within the prefix.
    */
-  return CONNECTED_POINTOPOINT_HOST(co) ?
-	 IPV4_ADDR_SAME ( &(co->destination->u.prefix4), &(net->u.prefix4)) :
-	 prefix_match (net, co->address);
+  if (if_is_pointopoint (co->ifp) && co->destination &&
+      IPV4_ADDR_SAME ( &(co->destination->u.prefix4), &(net->u.prefix4)))
+    return 1;
+
+#if 0
+  /* Decline to accept PtP if dst address does not match the
+   * prefix. (ifdefed out because this is a workaround, not the
+   * desired behavior.) */
+  if (if_is_pointopoint (co->ifp) &&
+      ! prefix_match (net, co->destination))
+    return 0;
+#endif
+
+  /* If the address is within the prefix, accept.  Note that this
+   * applies to PtP as well as other types.
+   */
+  if (prefix_match (net, co->address))
+    return 1;
+
+  return 0;			/* no match */
 }
 
 void
