diff --git a/proto/babel/babel.c b/proto/babel/babel.c
index 4a7d550f5efe40733724b4d3f81c495ac4071e08..71452a6f539fe410925aa67696d8516f5b932391 100644
--- a/proto/babel/babel.c
+++ b/proto/babel/babel.c
@@ -312,7 +312,9 @@ babel_add_seqno_request(struct babel_proto *p, struct babel_entry *e,
 
       /* Found older */
       rem_node(NODE sr);
-      rem_node(&sr->nbr_node);
+
+      if (sr->nbr)
+        rem_node(&sr->nbr_node);
 
       goto found;
     }
@@ -452,10 +454,7 @@ babel_flush_neighbor(struct babel_proto *p, struct babel_neighbor *nbr)
 
   struct babel_seqno_request *sr;
   WALK_LIST_FIRST2(sr, nbr_node, nbr->requests)
-  {
-    sr->nbr = NULL;
-    rem_node(&sr->nbr_node);
-  }
+    babel_remove_seqno_request(p, sr);
 
   nbr->ifa = NULL;
   rem_node(NODE nbr);