diff --git a/models/actions/run_job.go b/models/actions/run_job.go
index c7620cd8bca2..0239cc0a85e7 100644
--- a/models/actions/run_job.go
+++ b/models/actions/run_job.go
@@ -150,7 +150,7 @@ func aggregateJobStatus(jobs []*ActionRunJob) Status {
 		if !job.Status.IsDone() {
 			allDone = false
 		}
-		if job.Status != StatusWaiting {
+		if job.Status != StatusWaiting && !job.Status.IsDone() {
 			allWaiting = false
 		}
 		if job.Status == StatusFailure || job.Status == StatusCancelled {