Brown paperbag please. Fix previous commit.
diff --git a/isisd/ChangeLog b/isisd/ChangeLog
index 35296fb..726593a 100644
--- a/isisd/ChangeLog
+++ b/isisd/ChangeLog
@@ -1,5 +1,10 @@
 2004-09-26 Hasso Tepper <hasso at quagga.net>
 
+	* isis_circuit.c: Fix previous commit. Don't schedule LSP regeneration
+	  and don't crash if circuit->area == NULL.
+
+2004-09-26 Hasso Tepper <hasso at quagga.net>
+
 	* *.[c|h]: Fix a lot of compiler warnings.
 	* isis_events.c: Remove isis_event_int_reach_change() function, as it
 	  doesn't make sense for now. Call lsp_regenerate_schedule() directly
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index 2dbdba3..3669cf4 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -241,7 +241,8 @@
       ipv4->prefixlen = connected->address->prefixlen;
       ipv4->prefix = connected->address->u.prefix4;
       listnode_add (circuit->ip_addrs, ipv4);
-      lsp_regenerate_schedule (circuit->area);
+      if (circuit->area)
+	lsp_regenerate_schedule (circuit->area);
 
 #ifdef EXTREME_DEBUG
       prefix2str (connected->address, buf, BUFSIZ);
@@ -260,8 +261,8 @@
 	listnode_add (circuit->ipv6_link, ipv6);
       else
 	listnode_add (circuit->ipv6_non_link, ipv6);
-
-      lsp_regenerate_schedule (circuit->area);
+      if (circuit->area)
+	lsp_regenerate_schedule (circuit->area);
 
 #ifdef EXTREME_DEBUG
       prefix2str (connected->address, buf, BUFSIZ);
@@ -302,7 +303,8 @@
       if (ip)
 	{
 	  listnode_delete (circuit->ip_addrs, ip);
-	  lsp_regenerate_schedule (circuit->area);
+	  if (circuit->area)
+	    lsp_regenerate_schedule (circuit->area);
 	}
       else
 	{
@@ -354,7 +356,8 @@
 		     circuit %d", buf, circuit->circuit_id);
 	}
       else
-	lsp_regenerate_schedule (circuit->area);
+	if (circuit->area)
+	  lsp_regenerate_schedule (circuit->area);
     }
 #endif /* HAVE_IPV6 */
   return;