Index: uspace/srv/bd/hr/hr.c
===================================================================
--- uspace/srv/bd/hr/hr.c	(revision 6791fbf39cb12c73df14fedede20159dd4f42073)
+++ uspace/srv/bd/hr/hr.c	(revision 13ada526b7e33d1825b72e049bc6fdae493201bc)
@@ -342,9 +342,9 @@
 
 	service_id_t svc_id;
-	size_t fail_extent;
+	size_t extent_idx_to_fail;
 	hr_volume_t *vol;
 
 	svc_id = (service_id_t)ipc_get_arg1(icall);
-	fail_extent = (size_t)ipc_get_arg2(icall);
+	extent_idx_to_fail = (size_t)ipc_get_arg2(icall);
 
 	vol = hr_get_volume(svc_id);
@@ -354,8 +354,10 @@
 	}
 
+	hr_extent_t *ext = &vol->extents[extent_idx_to_fail];
+
 	fibril_rwlock_read_lock(&vol->extents_lock);
 	fibril_rwlock_write_lock(&vol->states_lock);
 
-	switch (vol->extents[fail_extent].state) {
+	switch (ext->state) {
 	case HR_EXT_NONE:
 	case HR_EXT_MISSING:
@@ -366,5 +368,6 @@
 		return;
 	default:
-		hr_update_ext_state(vol, fail_extent, HR_EXT_FAILED);
+		hr_update_ext_state(vol, extent_idx_to_fail, HR_EXT_FAILED);
+		(void)vol->meta_ops->erase_block(ext->svc_id);
 		hr_mark_vol_state_dirty(vol);
 	}
