diff --git a/lib/bsp_loader/src/brush.rs b/lib/bsp_loader/src/brush.rs
index 5219028..56172e8 100644
--- a/lib/bsp_loader/src/brush.rs
+++ b/lib/bsp_loader/src/brush.rs
@@ -75,13 +75,9 @@ fn planes_to_faces(face_list:std::collections::HashSet<Face>)->Result<Faces,Plan
 
 		let mut intersection=solve3(face0,face1,face2).ok_or(PlanesToFacesError::InitIntersection)?;
 
-		// repeatedly update face0, face1 until all faces form part of the convex solid
+		// repeatedly update face1, face2 until all faces form part of the convex solid
 		'find: loop{
-			if let Some(a)=detect_loop.checked_sub(1){
-				detect_loop=a;
-			}else{
-				return Err(PlanesToFacesError::InfiniteLoop1);
-			}
+			detect_loop=detect_loop.checked_sub(1).ok_or(PlanesToFacesError::InfiniteLoop1)?;
 			// test if any *other* faces occlude the intersection
 			for new_face in &face_list{
 				// new face occludes intersection point
@@ -177,11 +173,7 @@ fn planes_to_faces(face_list:std::collections::HashSet<Face>)->Result<Faces,Plan
 			face2=new_face;
 			intersection=new_intersection;
 
-			if let Some(a)=detect_loop.checked_sub(1){
-				detect_loop=a;
-			}else{
-				return Err(PlanesToFacesError::InfiniteLoop2);
-			}
+			detect_loop=detect_loop.checked_sub(1).ok_or(PlanesToFacesError::InfiniteLoop2)?;
 		}
 
 		faces.push(face);