diff --git a/src/slurmctld/job_scheduler.c b/src/slurmctld/job_scheduler.c
index cc7bb89015ac686a1d4ad3c275265fce74f21142..a0023425fed7b98f782f2aaa13055d306f65e7e0 100644
--- a/src/slurmctld/job_scheduler.c
+++ b/src/slurmctld/job_scheduler.c
@@ -1975,6 +1975,10 @@ extern int update_job_dependency(struct job_record *job_ptr, char *new_depend)
 			/* old format, just a single job_id */
 			if (array_task_id == NO_VAL) {
 				dep_job_ptr = find_job_record(job_id);
+				if (!dep_job_ptr) {
+					dep_job_ptr = find_job_array_rec(job_id,
+								      INFINITE);
+				}
 				if (dep_job_ptr &&
 				    (dep_job_ptr->array_job_id == job_id) &&
 				    (dep_job_ptr->array_task_id != NO_VAL)) {
@@ -2041,6 +2045,10 @@ extern int update_job_dependency(struct job_record *job_ptr, char *new_depend)
 			}
 			if (array_task_id == NO_VAL) {
 				dep_job_ptr = find_job_record(job_id);
+				if (!dep_job_ptr) {
+					dep_job_ptr = find_job_array_rec(job_id,
+								      INFINITE);
+				}		
 				if (dep_job_ptr &&
 				    (dep_job_ptr->array_job_id == job_id) &&
 				    (dep_job_ptr->array_task_id != NO_VAL)) {