diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c
index eb08a1a9f1cfd38bdfc932d3f8a44cf4c452b602..49af743363c3f48a28fa1d0dcc06b86a13ae4ea0 100644
--- a/src/slurmctld/job_mgr.c
+++ b/src/slurmctld/job_mgr.c
@@ -604,6 +604,11 @@ static int _load_job_state(Buf buffer)
 		goto unpack_error;
 
 	/* validity test as possible */
+	if (job_id == 0) {
+		verbose("Invalid job_id %u", job_id);
+		goto unpack_error;
+	}
+
 	if (((job_state & (~JOB_COMPLETING)) >= JOB_END) || 
 	    (batch_flag > 2)) {
 		error("Invalid data for job %u: job_state=%u batch_flag=%u",