diff --git a/src/p_setup.c b/src/p_setup.c
index 89b419953dbf3859dfdfe15da3532442dcd0b730..083b8f23683a08869c0b07c0969929c26611da10 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -4248,6 +4248,8 @@ static void P_ConvertBinaryLinedefTypes(void)
 			lines[i].args[0] = tag;
 			lines[i].args[1] = lines[i].special - 66;
 			lines[i].args[2] = P_AproxDistance(lines[i].dx, lines[i].dy) >> FRACBITS;
+			if (lines[i].flags & ML_NOCLIMB)
+				lines[i].args[2] *= -1;
 			lines[i].special = 66;
 			break;
 		case 76: //Make FOF bouncy