diff --git a/NEWS b/NEWS
index 4dd3618c7acc2c585131df627b74a14a1a1c7a25..4d0c7113d9158f4caa1ee51bb5ef01ab47af4958 100644
--- a/NEWS
+++ b/NEWS
@@ -124,6 +124,7 @@ documents those changes that are of interest to users and admins.
 
 * Changes in Slurm 2.5.8
 ========================
+ -- Fix for slurmctld segfault on NULL front-end reason field.
 
 * Changes in Slurm 2.5.7
 ========================
diff --git a/src/slurmctld/node_mgr.c b/src/slurmctld/node_mgr.c
index f1c184436516686473c17779fc332d7225dd1e93..8bfbcd18d7999a9e8205faca8e58780c63f08a05 100644
--- a/src/slurmctld/node_mgr.c
+++ b/src/slurmctld/node_mgr.c
@@ -2142,7 +2142,7 @@ static front_end_record_t * _front_end_reg(
 	front_end_ptr->slurmd_start_time = reg_msg->slurmd_start_time;
 	state_base  = front_end_ptr->node_state & JOB_STATE_BASE;
 	state_flags = front_end_ptr->node_state & JOB_STATE_FLAGS;
-	if ((state_base == NODE_STATE_DOWN) &&
+	if ((state_base == NODE_STATE_DOWN) && (front_end_ptr->reason) &&
 	    (!strncmp(front_end_ptr->reason, "Not responding", 14))) {
 		error("front end node %s returned to service",
 		      reg_msg->node_name);