diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 7720adc..27454aa 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,3 +1,10 @@
+2003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
+
+        * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
+          node in body of the loop to avoid chance that route node
+          is unlocked and deleted before the next iteration tries to 
+          get next route node.
+
 2003-05-24 Kenji Yabuuchi
 
 	* ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c
index 9e4be06..a0a9931 100644
--- a/ospfd/ospf_packet.c
+++ b/ospfd/ospf_packet.c
@@ -3113,19 +3113,23 @@
 {
   struct ospf_interface *oi = THREAD_ARG(thread);
   struct route_node *rn;
+  struct route_node *rnext;
   
   oi->t_ls_upd_event = NULL;
 
   if (IS_DEBUG_OSPF_EVENT)
     zlog_info ("ospf_ls_upd_send_queue start");
 
-  for (rn = route_top (oi->ls_upd_queue); rn; rn = route_next (rn))
+  for (rn = route_top (oi->ls_upd_queue); rn; rn = rnext)
     {
+      
+      rnext = route_next (rn);
+      
       if (rn->info == NULL)
-	continue;
+        continue;
 
       while (!list_isempty ((list)rn->info))
-	ospf_ls_upd_queue_send (oi, rn->info, rn->p.u.prefix4);
+        ospf_ls_upd_queue_send (oi, rn->info, rn->p.u.prefix4);
 
       list_delete (rn->info);
       rn->info = NULL;
