diff --git a/Marlin/buzzer.cpp b/Marlin/buzzer.cpp
index fd3d161ab524fda80bb2bb7b8e0e7c860da534ab..6c3c37a5710bddc342a73ffca9aea3f9c6c69282 100644
--- a/Marlin/buzzer.cpp
+++ b/Marlin/buzzer.cpp
@@ -7,7 +7,7 @@
     if (freq > 0) {
       #if ENABLED(LCD_USE_I2C_BUZZER)
         lcd_buzz(duration, freq);
-      #elif HAS_BUZZER // on-board buzzers have no further condition
+      #elif defined(BEEPER) && BEEPER >= 0 // on-board buzzers have no further condition
         SET_OUTPUT(BEEPER);
         #ifdef SPEAKER // a speaker needs a AC ore a pulsed DC
           //tone(BEEPER, freq, duration); // needs a PWMable pin