diff --git a/block/backup.c b/block/backup.c
index 94e6dcd72e336018bcc2a1df28e0fdbe6534ff63..6cf2f974aa2ae109dc543243072b461fe9f06952 100644
--- a/block/backup.c
+++ b/block/backup.c
@@ -103,6 +103,7 @@ static void backup_abort(Job *job)
 static void backup_clean(Job *job)
 {
     BackupBlockJob *s = container_of(job, BackupBlockJob, common.job);
+    block_job_remove_all_bdrv(&s->common);
     bdrv_backup_top_drop(s->backup_top);
 }