diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 1c4873e485..36d8a701ac 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -16942,7 +16942,7 @@ qemuDomainBlockCommit(virDomainPtr dom,
     if (qemuDomainDiskBlockJobIsActive(disk))
         goto endjob;
 
-    if (!top)
+    if (!top || STREQ(top, disk->dst))
         topSource = disk->src;
     else if (virStorageFileParseChainIndex(disk->dst, top, &topIndex) < 0 ||
              !(topSource = virStorageFileChainLookup(disk->src, NULL,