diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp
index 1d4e167287d01e8d920015e337461a4cc965160e..433d0087b18abe930384a7a66def22434c75b235 100644
--- a/Marlin/ultralcd.cpp
+++ b/Marlin/ultralcd.cpp
@@ -1544,7 +1544,9 @@ void lcd_buzz(long duration, uint16_t freq) {
   if (freq > 0) {
     #if BEEPER > 0
       SET_OUTPUT(BEEPER);
-      tone(BEEPER, freq, duration);
+      tone(BEEPER, freq);
+      delay(duration);
+      noTone(BEEPER);
     #elif defined(LCD_USE_I2C_BUZZER)
       lcd.buzz(duration,freq);
     #else