Index: uspace/srv/bd/hr/raid5.c
===================================================================
--- uspace/srv/bd/hr/raid5.c	(revision f312fb9f9e93d59982bec2bfcabeafaaabb2ebbd)
+++ uspace/srv/bd/hr/raid5.c	(revision 521b3879c0b26898ffbf9a9b2e9226d4c81a546d)
@@ -392,6 +392,8 @@
 		 */
 		bool first = true;
-		for (i = 1; i < vol->extent_no; i++) {
+		for (i = 0; i < vol->extent_no; i++) {
 			if (i == (size_t)bad)
+				continue;
+			if (i == p_extent)
 				continue;
 			if (first) {
@@ -601,5 +603,5 @@
 		retry_read:
 			ssize_t bad = hr_raid5_get_bad_ext(vol);
-			if (bad > 0 && extent == (size_t)bad) {
+			if (bad > -1 && extent == (size_t)bad) {
 				rc = hr_raid5_read_degraded(vol, bad,
 				    phys_block, data_read, cnt);
