Index: uspace/srv/bd/hr/metadata/foreign/geom/hr_g_mirror.c
===================================================================
--- uspace/srv/bd/hr/metadata/foreign/geom/hr_g_mirror.c	(revision 059885cb7b988a4bb920cfcaed111b6cae26758a)
+++ uspace/srv/bd/hr/metadata/foreign/geom/hr_g_mirror.c	(revision d04a350aca941393e8dd4e7dd984deb53bff8df0)
@@ -178,5 +178,5 @@
 	memcpy(vol->in_mem_md, main_meta, sizeof(struct g_mirror_metadata));
 
-	bool rebuild = false;
+	bool rebuild_set = false;
 
 	uint8_t index = 0;
@@ -192,4 +192,5 @@
 
 		bool invalidate = false;
+		bool rebuild_this_ext = false;
 
 		if (iter_meta->md_dflags & G_MIRROR_DISK_FLAG_DIRTY)
@@ -200,16 +201,17 @@
 		if (iter_meta->md_dflags & G_MIRROR_DISK_FLAG_SYNCHRONIZING &&
 		    !invalidate) {
-			if (rebuild) {
+			if (rebuild_set) {
 				HR_DEBUG("only 1 rebuilt extent allowed");
 				rc = EINVAL;
 				goto error;
 			}
-			rebuild = true;
+			rebuild_set = true;
+			rebuild_this_ext = true;
 			vol->rebuild_blk = iter_meta->md_sync_offset;
 		}
 
-		if (!rebuild && !invalidate)
+		if (!rebuild_this_ext && !invalidate)
 			vol->extents[index].state = HR_EXT_ONLINE;
-		else if (rebuild && !invalidate)
+		else if (rebuild_this_ext && !invalidate)
 			vol->extents[index].state = HR_EXT_REBUILD;
 		else
