diff --git a/isisd/isis_adjacency.c b/isisd/isis_adjacency.c
index c7ab83b..8afabed 100644
--- a/isisd/isis_adjacency.c
+++ b/isisd/isis_adjacency.c
@@ -507,6 +507,11 @@
   struct isis_adjacency *adj;
   struct listnode *node;
 
+  if (adjdb == NULL) {
+    zlog_warn ("isis_adj_build_up_list(): adjacency DB is empty");
+    return;
+  }
+
   if (!list)
     {
       zlog_warn ("isis_adj_build_up_list(): NULL list");
diff --git a/isisd/isis_events.c b/isisd/isis_events.c
index 0dee9e6..26f0210 100644
--- a/isisd/isis_events.c
+++ b/isisd/isis_events.c
@@ -250,8 +250,10 @@
       THREAD_TIMER_OFF (circuit->u.bc.t_refresh_pseudo_lsp[idx]);
       circuit->lsp_regenerate_pending[idx] = 0;
       circuit->u.bc.run_dr_elect[idx] = 0;
-      list_delete (circuit->u.bc.lan_neighs[idx]);
-      circuit->u.bc.lan_neighs[idx] = NULL;
+      if (circuit->u.bc.lan_neighs[idx] != NULL) {
+        list_delete (circuit->u.bc.lan_neighs[idx]);
+        circuit->u.bc.lan_neighs[idx] = NULL;
+      }
     }
 
   return;
diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c
index 7309248..4665490 100644
--- a/isisd/isis_lsp.c
+++ b/isisd/isis_lsp.c
@@ -137,14 +137,16 @@
   if (!lsp)
     return;
 
-  for (ALL_LIST_ELEMENTS_RO (lsp->area->circuit_list, cnode, circuit))
-    {
-      if (circuit->lsp_queue == NULL)
-        continue;
-      for (ALL_LIST_ELEMENTS (circuit->lsp_queue, lnode, lnnode, lsp_in_list))
-        if (lsp_in_list == lsp)
-          list_delete_node(circuit->lsp_queue, lnode);
-    }
+  if (lsp->area->circuit_list) {
+    for (ALL_LIST_ELEMENTS_RO (lsp->area->circuit_list, cnode, circuit))
+      {
+        if (circuit->lsp_queue == NULL)
+          continue;
+        for (ALL_LIST_ELEMENTS (circuit->lsp_queue, lnode, lnnode, lsp_in_list))
+          if (lsp_in_list == lsp)
+            list_delete_node(circuit->lsp_queue, lnode);
+      }
+  }
   ISIS_FLAGS_CLEAR_ALL (lsp->SSNflags);
   ISIS_FLAGS_CLEAR_ALL (lsp->SRMflags);
 
diff --git a/isisd/isis_route.c b/isisd/isis_route.c
index 9cca809..c0ec01e 100644
--- a/isisd/isis_route.c
+++ b/isisd/isis_route.c
@@ -643,6 +643,9 @@
     isis_route_validate_merge (area, AF_INET6);
 #endif
 
+  if (!area->circuit_list) {
+    return;
+  }
   /* walk all circuits and reset any spf specific flags */
   for (ALL_LIST_ELEMENTS_RO (area->circuit_list, node, circuit))
     UNSET_FLAG(circuit->flags, ISIS_CIRCUIT_FLAPPED_AFTER_SPF);
