diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c
index 01f9df02da73de9cc4f8d9f75bd071f54fc2bad8..34a6bec059664be3a813d4cb8182499768365647 100644
--- a/src/slurmd/slurmstepd/mgr.c
+++ b/src/slurmd/slurmstepd/mgr.c
@@ -855,6 +855,9 @@ job_manager(slurmd_job_t *job)
 
 	if (rc) {
 		error("IO setup failed: %m");
+		step_complete.step_rc = MAX(step_complete.step_rc, 1);
+		job->task[0]->estatus = 0x0100;
+		step_complete.step_rc = 0x0100;
 		rc = SLURM_SUCCESS;	/* drains node otherwise */
 		goto fail2;
 	} else {