diff --git a/Marlin/src/core/utility.cpp b/Marlin/src/core/utility.cpp
index 565eff0314f067f5296f3be4daa8cc7416d2af34..261a27eefb6f3e5d923d8f9e9a85a4c4750a5b16 100644
--- a/Marlin/src/core/utility.cpp
+++ b/Marlin/src/core/utility.cpp
@@ -59,7 +59,7 @@ void safe_delay(millis_t ms) {
 
   // Convert a full-range unsigned 8bit int to a percentage
   char* ui8tostr_percent(const uint8_t i) {
-    const uint16_t percent = 100 * i / 255;
+    const uint8_t percent = ui8_to_percent(i);
     conv[3] = RJDIGIT(percent, 100);
     conv[4] = RJDIGIT(percent, 10);
     conv[5] = DIGIMOD(percent, 1);