diff --git a/src/common/slurm_protocol_pack.c b/src/common/slurm_protocol_pack.c
index f495e66d58a6558b4dea958d96bbedba7398bb5c..3314f6ab28d8310c61c27ecd3219ef9ea5f34b73 100644
--- a/src/common/slurm_protocol_pack.c
+++ b/src/common/slurm_protocol_pack.c
@@ -4636,8 +4636,10 @@ static void _xlate_task_str(job_info_t *job_ptr)
 	char *in_buf = job_ptr->array_task_str;
 	char *out_buf = NULL;
 
-	if (!in_buf)
+	if (!in_buf) {
+		job_ptr->array_bitmap = NULL;
 		return;
+	}
 
 	i = strlen(in_buf);
 	task_bitmap = bit_alloc(i * 4);