diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index c5261f9dada3e15542e9eb9c0e077ee5dc78d9fb..c3635ca8d1f508dc87ff0eb99d606d0b4f4e416a 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -12003,7 +12003,7 @@ void prepare_move_to_destination() {
     else
       C2 = (HYPOT2(sx, sy) - (L1_2 + L2_2)) / (2.0 * L1 * L2);
 
-    S2 = sqrt(sq(C2) - 1);
+    S2 = sqrt(1 - sq(C2));
 
     // Unrotated Arm1 plus rotated Arm2 gives the distance from Center to End
     SK1 = L1 + L2 * C2;