diff --git a/src/r_segs.c b/src/r_segs.c
index 241402d447c5d5cb88d09aaef4683e1ce2eda67a..0066579ac8452d8998b218bc40f5b31f35076007 100644
--- a/src/r_segs.c
+++ b/src/r_segs.c
@@ -3250,7 +3250,11 @@ void R_StoreWallRange(INT32 start, INT32 stop)
 	else if (curline->v1->x == curline->v2->x)
 		rw_distance = (fixed_t)(llabs(viewx - curline->v1->x));
 	// big room fix
+#ifdef SOFTWARE_USE_FLOATS
 	else if ((curline->length >= 1024<<FRACBITS) || longboi)
+#else
+	else if (longboi)
+#endif
 		R_CalculateSegDistance(curline, viewx, viewy, longboi);
 	else
 		rw_distance = FixedMul(hyp, sineval);