diff --git a/isisd/ChangeLog b/isisd/ChangeLog
index e883faa..2145307 100644
--- a/isisd/ChangeLog
+++ b/isisd/ChangeLog
@@ -2,7 +2,8 @@
 
 	* isis_circuit.c, isis_csm.c, isis_zebra.c: Don't crash during
 	  interface up/down events. I'm not sure whether logic is correct
-	  though. Needs rethink anyway, seems.
+	  though. Needs rethink anyway, seems. Replace if_is_up() with
+	  if_is_operative() and add some more.
 
 2004-12-24 Hasso Tepper <hasso at quagga.net>
 
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index ca5befb..1a98a63 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -430,12 +430,7 @@
 isis_circuit_update_params (struct isis_circuit *circuit,
 			    struct interface *ifp)
 {
-  /* HT: It can happen at the moment during interface up event because we
-   * actually delete circuit during interface down event. Should be really
-   * cleaned up. TODO */
-  /* assert (circuit); */
-  if (!circuit)
-    return;
+  assert (circuit);
 
   if (circuit->circuit_id != ifp->ifindex)
     {
diff --git a/isisd/isis_zebra.c b/isisd/isis_zebra.c
index bcd0018..6d9e61f 100644
--- a/isisd/isis_zebra.c
+++ b/isisd/isis_zebra.c
@@ -70,7 +70,7 @@
   zlog_debug ("Zebra I/F add: %s index %d flags %ld metric %d mtu %d",
 	      ifp->name, ifp->ifindex, ifp->flags, ifp->metric, ifp->mtu);
 
-  if (if_is_up (ifp))
+  if (if_is_operative (ifp))
     isis_csm_state_change (IF_UP_FROM_Z, circuit_scan_by_ifp (ifp), ifp);
 
   return 0;
@@ -88,7 +88,7 @@
   if (!ifp)
     return 0;
 
-  if (if_is_up (ifp))
+  if (if_is_operative (ifp))
     zlog_warn ("Zebra: got delete of %s, but interface is still up",
 	       ifp->name);
 
@@ -132,7 +132,7 @@
   if (!ifp)
     return 0;
 
-  if (if_is_up (ifp))
+  if (if_is_operative (ifp))
     {
       zebra_interface_if_set_value (zclient->ibuf, ifp);
       /* HT: This is wrong actually. We can't assume that circuit exist
@@ -159,7 +159,7 @@
   if (ifp == NULL)
     return 0;
 
-  if (if_is_up (ifp))
+  if (if_is_operative (ifp))
     {
       zebra_interface_if_set_value (zclient->ibuf, ifp);
       isis_csm_state_change (IF_DOWN_FROM_Z, circuit_scan_by_ifp (ifp), ifp);
@@ -193,7 +193,8 @@
     zlog_debug ("connected IPv6 address %s", buf);
 #endif /* HAVE_IPV6 */
 #endif /* EXTREME_DEBUG */
-  isis_circuit_add_addr (circuit_scan_by_ifp (c->ifp), c);
+  if (if_is_operative (c->ifp))
+    isis_circuit_add_addr (circuit_scan_by_ifp (c->ifp), c);
 
   return 0;
 }
@@ -229,7 +230,8 @@
 #endif /* HAVE_IPV6 */
 #endif /* EXTREME_DEBUG */
 
-  isis_circuit_del_addr (circuit_scan_by_ifp (ifp), c);
+  if (if_is_operative (ifp))
+    isis_circuit_del_addr (circuit_scan_by_ifp (ifp), c);
   connected_free (c);
 
   return 0;
