diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c
index 6d7af05..a4495e9 100644
--- a/ospfd/ospf_lsa.c
+++ b/ospfd/ospf_lsa.c
@@ -640,7 +640,7 @@
       struct interface *ifp = oi->ifp;
 
       /* Check interface is up, OSPF is enable. */
-      if (if_is_up (ifp))
+      if (if_is_operative (ifp))
 	{
 	  if (oi->state != ISM_Down)
 	    {
@@ -1391,7 +1391,7 @@
     {
       struct ospf_interface *oi = getdata (n1);
 
-      if (if_is_up (oi->ifp))
+      if (if_is_operative (oi->ifp))
 	if (oi->address->family == AF_INET)
 	  if (prefix_match (oi->address, &nh))
 	    return nexthop;
@@ -1412,7 +1412,7 @@
 
   fwd.s_addr = 0;
 
-  if (if_is_up (oi->ifp))
+  if (if_is_operative (oi->ifp))
     return oi->address->u.prefix4;
   
   return fwd;
@@ -1432,7 +1432,7 @@
     {
       struct ospf_interface *oi = getdata (n1);
 
-      if (if_is_up (oi->ifp))
+      if (if_is_operative (oi->ifp))
 	if (oi->area->external_routing == OSPF_AREA_NSSA)
 	  if (oi->address && oi->address->family == AF_INET)
 	    return (oi->address->u.prefix4 );
