diff --git a/Marlin/utility.cpp b/Marlin/utility.cpp
index 83e1579b27b7a00e25465ddd308b86235ca2226a..432045bc198d6fcc9eeb72577be4e4fee9c326f6 100644
--- a/Marlin/utility.cpp
+++ b/Marlin/utility.cpp
@@ -134,7 +134,7 @@ void safe_delay(millis_t ms) {
     // Convert float to rj string with 1234, _123, -123, _-12, 12.3, _1.2, or -1.2 format
     char *ftostr4sign(const float& fx) {
       int x = fx * 10;
-      if (WITHIN(x, -99, 999)) return itostr4sign((int)fx);
+      if (!WITHIN(x, -99, 999)) return itostr4sign((int)fx);
       int xx = abs(x);
       conv[0] = x < 0 ? '-' : (xx >= 100 ? DIGIMOD(xx, 100) : ' ');
       conv[1] = DIGIMOD(xx, 10);