diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c
index 951c19a..4eccee7 100644
--- a/ospfd/ospf_interface.c
+++ b/ospfd/ospf_interface.c
@@ -145,7 +145,7 @@
 }
 
 /* lookup oi for specified prefix/ifp */
-static struct ospf_interface *
+struct ospf_interface *
 ospf_if_table_lookup (struct interface *ifp, struct prefix *prefix)
 {
   struct prefix p;
diff --git a/ospfd/ospf_interface.h b/ospfd/ospf_interface.h
index 79b178d..0fc4ccb 100644
--- a/ospfd/ospf_interface.h
+++ b/ospfd/ospf_interface.h
@@ -248,6 +248,8 @@
 							    struct in_addr);
 extern struct ospf_interface *ospf_if_lookup_by_prefix (struct ospf *,
 							struct prefix_ipv4 *);
+extern struct ospf_interface *ospf_if_table_lookup (struct interface *,
+						    struct prefix *);
 extern struct ospf_interface *ospf_if_addr_local (struct in_addr);
 extern struct ospf_interface *ospf_if_lookup_recv_if (struct ospf *,
 						      struct in_addr);
diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c
index 08e4100..b86986b 100644
--- a/ospfd/ospfd.c
+++ b/ospfd/ospfd.c
@@ -901,15 +901,12 @@
      then create socket and join multicast group. */
   for (ALL_LIST_ELEMENTS_RO (ifp->connected, cnode, co))
     {
-      struct prefix *addr;
-      
+
       if (CHECK_FLAG(co->flags,ZEBRA_IFA_SECONDARY))
         continue;
 
-      addr = CONNECTED_ID(co);
-
       if (p->family == co->address->family 
-          && ! ospf_if_is_configured (area->ospf, &(addr->u.prefix4))
+	  && ! ospf_if_table_lookup(ifp, co->address)
           && ospf_network_match_iface(co,p))
         {
            struct ospf_interface *oi;
