diff --git a/src/slurmctld/reservation.c b/src/slurmctld/reservation.c
index fd22442d9f3c08cb14bd42d500785cb3c6357d13..6f66c58624c66be14bdc4568fe3ceed989792f16 100644
--- a/src/slurmctld/reservation.c
+++ b/src/slurmctld/reservation.c
@@ -3094,8 +3094,9 @@ static void _validate_node_choice(slurmctld_resv_t *resv_ptr)
 	int i;
 	resv_desc_msg_t resv_desc;
 
-	if (resv_ptr->flags & RESERVE_FLAG_SPEC_NODES ||
-	    resv_ptr->flags & RESERVE_FLAG_STATIC)
+	if ((resv_ptr->node_bitmap == NULL) ||
+	    (resv_ptr->flags & RESERVE_FLAG_SPEC_NODES) ||
+	    (resv_ptr->flags & RESERVE_FLAG_STATIC))
 		return;
 
 	i = bit_overlap(resv_ptr->node_bitmap, avail_node_bitmap);