diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c
index 517ebe0e84ac74cb47b5b28d5795446df0033091..7947551bd98f5d6d949570d13adc711fbb5ce09b 100644
--- a/src/slurmd/slurmstepd/mgr.c
+++ b/src/slurmd/slurmstepd/mgr.c
@@ -707,12 +707,14 @@ _send_exit_msg(stepd_step_rec_t *job, uint32_t *tid, int n, int status)
 	i = list_iterator_create(job->sruns);
 	while ((srun = list_next(i))) {
 		resp.address = srun->resp_addr;
-		resp.protocol_version = srun->protocol_version;
 		if ((resp.address.sin_family == 0) &&
 		    (resp.address.sin_port == 0)   &&
 		    (resp.address.sin_addr.s_addr == 0))
 			continue;	/* no srun or sattach here */
 
+		if (srun->protocol_version)	/* Not set by sattach */
+			resp.protocol_version = srun->protocol_version;
+
 		if (_send_srun_resp_msg(&resp, job->nnodes) != SLURM_SUCCESS)
 			error("Failed to send MESSAGE_TASK_EXIT: %m");
 	}