diff --git a/Marlin/src/gcode/bedlevel/abl/G29.cpp b/Marlin/src/gcode/bedlevel/abl/G29.cpp
index 57ec6193d090fbc86d3f6b6c00a704722a6ea4df..d7815537505fa9c8ca2efcea365353734eb52140 100644
--- a/Marlin/src/gcode/bedlevel/abl/G29.cpp
+++ b/Marlin/src/gcode/bedlevel/abl/G29.cpp
@@ -225,7 +225,7 @@ G29_TYPE GcodeSuite::G29() {
   #if ABL_GRID
 
     #if ENABLED(PROBE_MANUALLY)
-      ABL_VAR xy_uint8_t meshCount;
+      ABL_VAR xy_int8_t meshCount;
     #endif
 
     ABL_VAR xy_float_t probe_position_lf, probe_position_rb;
diff --git a/Marlin/src/lcd/extensible_ui/ui_api.h b/Marlin/src/lcd/extensible_ui/ui_api.h
index 6f852cdd8761df3f94c1a9ccfd6c47bd50e7058d..85953d81446e6e8a0a5d5fae9fc820a22b6a327b 100644
--- a/Marlin/src/lcd/extensible_ui/ui_api.h
+++ b/Marlin/src/lcd/extensible_ui/ui_api.h
@@ -137,8 +137,7 @@ namespace ExtUI {
       bed_mesh_t& getMeshArray();
       float getMeshPoint(const xy_uint8_t &pos);
       void setMeshPoint(const xy_uint8_t &pos, const float zval);
-      void onMeshUpdate(const uint8_t xpos, const uint8_t ypos, const float zval);
-      inline void onMeshUpdate(const int8_t xpos, const int8_t ypos, const float zval) { onMeshUpdate((uint8_t)xpos, (uint8_t)ypos, zval); }
+      void onMeshUpdate(const int8_t xpos, const int8_t ypos, const float zval);
       inline void onMeshUpdate(const xy_int8_t &pos, const float zval) { onMeshUpdate(pos.x, pos.y, zval); }
     #endif
   #endif
diff --git a/Marlin/src/lcd/extui_example.cpp b/Marlin/src/lcd/extui_example.cpp
index 9bdc0ddfe95e697d1540d0d01498310d72f8a4a9..9a00db5f80205b66f0b5faabb2d66ea40aa3fe97 100644
--- a/Marlin/src/lcd/extui_example.cpp
+++ b/Marlin/src/lcd/extui_example.cpp
@@ -89,7 +89,7 @@ namespace ExtUI {
     // whether successful or not.
   }
 
-  void onMeshUpdate(const uint8_t xpos, const uint8_t ypos, const float zval) {
+  void onMeshUpdate(const int8_t xpos, const int8_t ypos, const float zval) {
     // This is called when any mesh points are updated
   }
 }