diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
index e65e6c0b33b9f4c9c6385b943d2b5df454ce700d..bf9e940ad6e15af8f1f83de1856a8cf482c1a02d 100644
--- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
+++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp
@@ -775,6 +775,7 @@
       wait_for_release();
       while (!is_lcd_clicked()) {
         idle();
+        refresh_cmd_timeout();
         if (encoder_diff) {
           do_blocking_move_to_z(current_position[Z_AXIS] + float(encoder_diff) * multiplier);
           encoder_diff = 0;