diff --git a/slurm/slurm_errno.h b/slurm/slurm_errno.h
index 2a788973fe3f83db13424dca5b2306d39c443971..7e3e8ddc88f6bda1a5035ccc8ae77c93b308e302 100644
--- a/slurm/slurm_errno.h
+++ b/slurm/slurm_errno.h
@@ -171,6 +171,7 @@ enum {
 	ESLURM_PORTS_BUSY,
 	ESLURM_PORTS_INVALID,
 	ESLURM_PROLOG_RUNNING,
+	ESLURM_NO_STEPS,
 
 	/* switch specific error codes, specific values defined in plugin module */
 	ESLURM_SWITCH_MIN = 3000,
diff --git a/src/common/slurm_errno.c b/src/common/slurm_errno.c
index 02e6071a6a6698ec639173d71c766ea0dadb9ea7..2b061d4b21610e376dcc60059cf8049c7115aa5b 100644
--- a/src/common/slurm_errno.c
+++ b/src/common/slurm_errno.c
@@ -244,6 +244,8 @@ static slurm_errtab_t slurm_errtab[] = {
 	  "Requires more ports than can be reserved"		},
 	{ ESLURM_PROLOG_RUNNING,
 	  "SlurmctldProlog is still running"			},
+	{ ESLURM_NO_STEPS,
+	  "Job steps can not be run on this cluster"		},
 
 	/* slurmd error codes */
 
diff --git a/src/slurmctld/proc_req.c b/src/slurmctld/proc_req.c
index 0105803b235f1273602491bb7359c9123fbb89e8..87076244c28ec40d1d15c8399e1aab601a6a2ee1 100644
--- a/src/slurmctld/proc_req.c
+++ b/src/slurmctld/proc_req.c
@@ -1355,7 +1355,7 @@ static void _slurm_rpc_job_step_create(slurm_msg_t * msg)
 	if (!validate_super_user(uid)) {
 		info("Attempt to execute job step by uid=%u",
 			(unsigned int) uid);
-		slurm_send_rc_msg(msg, ESLURM_BATCH_ONLY);
+		slurm_send_rc_msg(msg, ESLURM_NO_STEPS);
 		return;
 	}
 #endif
@@ -2185,7 +2185,7 @@ static void _slurm_rpc_submit_batch_job(slurm_msg_t * msg)
 			if (!validate_super_user(uid)) {
 				info("Attempt to execute batch job step by uid=%u",
 					(unsigned int) uid);
-				slurm_send_rc_msg(msg, ESLURM_BATCH_ONLY);
+				slurm_send_rc_msg(msg, ESLURM_NO_STEPS);
 				unlock_slurmctld(job_write_lock);
 				return;
 			}