diff --git a/isisd/ChangeLog b/isisd/ChangeLog
index a053ede..81b810a 100644
--- a/isisd/ChangeLog
+++ b/isisd/ChangeLog
@@ -1,3 +1,14 @@
+2005-10-01 Hasso Tepper <hasso at quagga.net>
+
+	* isis_adjacency.c: Stop expire timer while deleting adjacency.
+	* isis_events.c: Stop pseudo LSP thread while resigning circuit from
+	  level.
+	* isis_route.c: Fix compiling with EXTREME_DEBUG. Mark route as not
+	  in sync with zebra if it's changed.
+	* isis_spf.c: Schedule route validating etc even if tent was empty.
+	  It's probably because we just don't have any adjacencies.
+	* isisd.c: Write minimum spf interval into configuration.
+
 2005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
 
 	* isis_route.c: fix EXTREME_DEBUG compilation
diff --git a/isisd/isis_adjacency.c b/isisd/isis_adjacency.c
index a898f24..a4078d7 100644
--- a/isisd/isis_adjacency.c
+++ b/isisd/isis_adjacency.c
@@ -131,6 +131,8 @@
   if (adjdb)
     listnode_delete (adjdb, adj);
 
+  THREAD_OFF (adj->t_expire);
+
   if (adj->ipv4_addrs)
     list_delete (adj->ipv4_addrs);
 #ifdef HAVE_IPV6
diff --git a/isisd/isis_events.c b/isisd/isis_events.c
index 07736fd..8b37e8c 100644
--- a/isisd/isis_events.c
+++ b/isisd/isis_events.c
@@ -195,6 +195,7 @@
     {
       THREAD_TIMER_OFF (circuit->u.bc.t_send_lan_hello[idx]);
       THREAD_TIMER_OFF (circuit->u.bc.t_run_dr[idx]);
+      THREAD_TIMER_OFF (circuit->u.bc.t_refresh_pseudo_lsp[idx]);
       circuit->u.bc.run_dr_elect[idx] = 0;
     }
 
diff --git a/isisd/isis_route.c b/isisd/isis_route.c
index d799ea0..7d0239c 100644
--- a/isisd/isis_route.c
+++ b/isisd/isis_route.c
@@ -129,6 +129,7 @@
 nexthops_print (struct list *nhs)
 {
   struct listnode *node;
+  struct isis_nexthop *nh;
 
   for (ALL_LIST_ELEMENTS_RO (nhs, node, nh))
     nexthop_print (nh);
@@ -139,7 +140,6 @@
 static struct isis_nexthop6 *
 isis_nexthop6_new (struct in6_addr *ip6, unsigned int ifindex)
 {
-
   struct isis_nexthop6 *nexthop6;
 
   nexthop6 = XCALLOC (MTYPE_ISIS_NEXTHOP6, sizeof (struct isis_nexthop6));
@@ -523,6 +523,7 @@
       isis_route_info_merge (rinfo_new, rinfo_old, family);
       isis_route_info_delete (rinfo_new);
       route_info = rinfo_old;
+      UNSET_FLAG (route_info->flag, ISIS_ROUTE_FLAG_ZEBRA_SYNC);
     }
   else
     {
diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c
index d937549..988ad9b 100644
--- a/isisd/isis_spf.c
+++ b/isisd/isis_spf.c
@@ -1027,8 +1027,7 @@
   if (listcount (spftree->tents) == 0)
     {
       zlog_warn ("ISIS-Spf: TENT is empty");
-      spftree->lastrun = time (NULL);
-      return retval;
+      goto out;
     }
 
   while (listcount (spftree->tents) > 0)
@@ -1068,6 +1067,7 @@
 	}
     }
 
+out:
   thread_add_event (master, isis_route_validate, area, 0);
   spftree->lastrun = time (NULL);
   spftree->pending = 0;
diff --git a/isisd/isisd.c b/isisd/isisd.c
index 84e1c88..c5c2153 100644
--- a/isisd/isisd.c
+++ b/isisd/isisd.c
@@ -1974,6 +1974,31 @@
 		write++;
 	      }
 	  }
+	/* Minimum SPF interval. */
+	if (area->min_spf_interval[0] == area->min_spf_interval[1])
+	  {
+	    if (area->min_spf_interval[0] != MINIMUM_SPF_INTERVAL)
+	      {
+		vty_out (vty, " spf-interval %d%s",
+			 area->min_spf_interval[0], VTY_NEWLINE);
+		write++;
+	      }
+	  }
+	else
+	  {
+	    if (area->min_spf_interval[0] != MINIMUM_SPF_INTERVAL)
+	      {
+		vty_out (vty, " spf-interval level-1 %d%s",
+			 area->min_spf_interval[0], VTY_NEWLINE);
+		write++;
+	      }
+	    if (area->min_spf_interval[1] != MINIMUM_SPF_INTERVAL)
+	      {
+		vty_out (vty, " spf-interval level-2 %d%s",
+			 area->min_spf_interval[1], VTY_NEWLINE);
+		write++;
+	      }
+	  }
 	/* Authentication passwords. */
 	if (area->area_passwd.len > 0)
 	  {
