diff --git a/src/common/slurm_protocol_defs.h b/src/common/slurm_protocol_defs.h
index 108b3b1a59daf49a2906ac3ab3fadb917859d54f..635421fb3d5730403ebb4b7108418aaaf919a0b1 100644
--- a/src/common/slurm_protocol_defs.h
+++ b/src/common/slurm_protocol_defs.h
@@ -900,18 +900,18 @@ typedef struct composite_msg {
 #define SIG_FAILURE	999	/* Dummy signal value to signify sys failure */
 typedef struct kill_job_msg {
 	uint32_t job_id;
-	uint32_t step_id;
 	uint32_t job_state;
 	uint32_t job_uid;
-	time_t   time;		/* slurmctld's time of request */
-	time_t   start_time;	/* time of job start, track job requeue */
 	char *nodes;
-	dynamic_plugin_data_t *select_jobinfo;	/* opaque data type */
-	char **spank_job_env;
-	uint32_t spank_job_env_size;
 	char **pelog_env;	/* jobpack environment variables for job
 				   prolog/epilog */
 	uint32_t pelog_env_size;/* element count in pelog_env */
+	dynamic_plugin_data_t *select_jobinfo;	/* opaque data type */
+	char **spank_job_env;
+	uint32_t spank_job_env_size;
+	time_t   start_time;	/* time of job start, track job requeue */
+	uint32_t step_id;
+	time_t   time;		/* slurmctld's time of request */
 } kill_job_msg_t;
 
 typedef struct signal_job_msg {
diff --git a/src/common/slurm_protocol_pack.c b/src/common/slurm_protocol_pack.c
index e9741b62af3810a822bf75111cf0c7097c8be18b..59e302c216dd5bd17df8f76184281722b3dc0b1b 100644
--- a/src/common/slurm_protocol_pack.c
+++ b/src/common/slurm_protocol_pack.c
@@ -5040,18 +5040,18 @@ _pack_kill_job_msg(kill_job_msg_t * msg, Buf buffer, uint16_t protocol_version)
 
 	if (protocol_version >= SLURM_17_02_PROTOCOL_VERSION) {
 		pack32(msg->job_id,  buffer);
-		pack32(msg->step_id,  buffer);
 		pack32(msg->job_state, buffer);
 		pack32(msg->job_uid, buffer);
-		pack_time(msg->time, buffer);
-		pack_time(msg->start_time, buffer);
 		packstr(msg->nodes, buffer);
+		packstr_array(msg->pelog_env, msg->pelog_env_size,
+			      buffer);
 		select_g_select_jobinfo_pack(msg->select_jobinfo, buffer,
 					     protocol_version);
 		packstr_array(msg->spank_job_env, msg->spank_job_env_size,
 			      buffer);
-		packstr_array(msg->pelog_env, msg->pelog_env_size,
-			      buffer);
+		pack_time(msg->start_time, buffer);
+		pack32(msg->step_id,  buffer);
+		pack_time(msg->time, buffer);
 	} else if (protocol_version >= SLURM_MIN_PROTOCOL_VERSION) {
 		pack32(msg->job_id,  buffer);
 		pack32(msg->step_id,  buffer);
@@ -5084,19 +5084,20 @@ _unpack_kill_job_msg(kill_job_msg_t ** msg, Buf buffer,
 
 	if (protocol_version >= SLURM_17_02_PROTOCOL_VERSION) {
 		safe_unpack32(&(tmp_ptr->job_id),  buffer);
-		safe_unpack32(&(tmp_ptr->step_id),  buffer);
 		safe_unpack32(&(tmp_ptr->job_state),  buffer);
 		safe_unpack32(&(tmp_ptr->job_uid), buffer);
-		safe_unpack_time(&(tmp_ptr->time), buffer);
-		safe_unpack_time(&(tmp_ptr->start_time), buffer);
-		safe_unpackstr_xmalloc(&(tmp_ptr->nodes), &uint32_tmp, buffer);
+		safe_unpackstr_xmalloc(&(tmp_ptr->nodes),
+				       &uint32_tmp, buffer);
+		safe_unpackstr_array(&(tmp_ptr->pelog_env),
+				     &tmp_ptr->pelog_env_size, buffer);
 		if (select_g_select_jobinfo_unpack(&tmp_ptr->select_jobinfo,
 						   buffer, protocol_version))
 			goto unpack_error;
 		safe_unpackstr_array(&(tmp_ptr->spank_job_env),
 				     &tmp_ptr->spank_job_env_size, buffer);
-		safe_unpackstr_array(&(tmp_ptr->pelog_env),
-				     &tmp_ptr->pelog_env_size, buffer);
+		safe_unpack_time(&(tmp_ptr->start_time), buffer);
+		safe_unpack32(&(tmp_ptr->step_id),  buffer);
+		safe_unpack_time(&(tmp_ptr->time), buffer);
 	} else if (protocol_version >= SLURM_MIN_PROTOCOL_VERSION) {
 		safe_unpack32(&(tmp_ptr->job_id),  buffer);
 		safe_unpack32(&(tmp_ptr->step_id),  buffer);