diff --git a/src/slurmctld/proc_req.c b/src/slurmctld/proc_req.c
index 36fd0fb296cef6638fbc30011ab409c77ab11d01..a8dd113e6ddce232b7509f19d6cecac0e5e2f8ee 100644
--- a/src/slurmctld/proc_req.c
+++ b/src/slurmctld/proc_req.c
@@ -5518,7 +5518,7 @@ inline static void _slurm_rpc_reboot_nodes(slurm_msg_t * msg)
 			continue;
 		}
 		node_ptr->node_state |= NODE_STATE_REBOOT;
-		if (reboot_msg->flags & REBOOT_FLAGS_ASAP) {
+		if (reboot_msg && (reboot_msg->flags & REBOOT_FLAGS_ASAP)) {
 			node_ptr->node_state |= NODE_STATE_DRAIN;
 			if (node_ptr->reason == NULL) {
 				node_ptr->reason = xstrdup("Reboot ASAP");