diff --git a/block-migration.c b/block-migration.c
index a91d96b..e9bc200 100644
--- a/block-migration.c
+++ b/block-migration.c
@@ -582,7 +582,7 @@ static int block_save_iterate(QEMUFile *f, void *opaque)
 
     qemu_put_be64(f, BLK_MIG_FLAG_EOS);
 
-    return 0;
+    return get_remaining_dirty() == 0;
 }
 
 static int block_save_complete(QEMUFile *f, void *opaque)
