diff --git a/src/passbook.c b/src/passbook.c
index 89af7fe3ef4fc66352f483bae98a88167825ef55..1358659a89c1d144b607130d2efd74cd31dd4f87 100644
--- a/src/passbook.c
+++ b/src/passbook.c
@@ -246,56 +246,43 @@ nodeptr_list_t list_push(nodeptr_list_t lst, const node_t *p){
   return lst;
 }
 
-/* when out is non-NULL we place a pointer to the first node into it */
+/* when out is non-NULL we place a pointer to the first node into it.
+   assumption: lst.head and lst.last are non-NULL */
 nodeptr_list_t list_pop(nodeptr_list_t lst, const node_t **out){
-  if (lst.head != NULL){
-    assert(lst.last != NULL);
-    if (out != NULL){
-      *out = lst.head->p;
-    }
-    if (lst.last == lst.head){
-      free(lst.head);
-      lst.head = NULL;
-      lst.last = NULL;
-    }else{
-      nodeptr_list_elem_t *ret = lst.head->next;
-      free(lst.head);
-      lst.head = ret;
-    }
-    return lst;
+  assert(lst.head != NULL && lst.last != NULL);
+  if (out != NULL){
+    *out = lst.head->p;
+  }
+  if (lst.last == lst.head){
+    free(lst.head);
+    lst.head = NULL;
+    lst.last = NULL;
   }else{
-    assert(lst.last == NULL);
-    if (out != NULL){
-      *out = (const node_t *)NULL;
-    }
-    return lst;
+    nodeptr_list_elem_t *ret = lst.head->next;
+    free(lst.head);
+    lst.head = ret;
   }
+  return lst;
 }
 
+/* when out is non-NULL we place a pointer to the last node into it.
+   assumption: lst.head and lst.last are non-NULL */
 nodeptr_list_t list_dequeue(nodeptr_list_t lst, const node_t **out){
-  if (lst.last != NULL){
-    assert(lst.head != NULL);
-    if (out != NULL){
-      *out = lst.last->p;
-    }
+  assert(lst.head != NULL && lst.last != NULL);
+  if (out != NULL){
+    *out = lst.last->p;
+  }
 
-    if (lst.last == lst.head){
-      free(lst.head);
-      lst.head = NULL;
-      lst.last = NULL;
-    }else{
-      nodeptr_list_elem_t *ret = lst.last->prev;
-      free(lst.last);
-      lst.last = ret;
-    }
-    return lst;
+  if (lst.last == lst.head){
+    free(lst.head);
+    lst.head = NULL;
+    lst.last = NULL;
   }else{
-    assert(lst.head == NULL);
-    if (out != NULL){
-      *out = (const node_t *)NULL;
-    }
-    return lst;
+    nodeptr_list_elem_t *ret = lst.last->prev;
+    free(lst.last);
+    lst.last = ret;
   }
+  return lst;
 }
 
 #ifdef UNUSED_FUNCTIONS
@@ -534,8 +521,6 @@ static int run(FILE *f){
       }
     }
   }
-  assert(0 && "Should never reach here");
-  return 0;
 }
 
 #ifdef PASSBOOK_LIBFUZZER