diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp
index 25ed3ef9ce7be6a6ccd8e5f8039e7fcdb6a18b08..bb984217842839aab728f0decc3d0001970f64cd 100644
--- a/Marlin/ultralcd.cpp
+++ b/Marlin/ultralcd.cpp
@@ -695,6 +695,8 @@ static void lcd_sd_updir()
void lcd_sdcard_menu()
{
+ if (lcdDrawUpdate == 0 && LCD_CLICKED == 0)
+ return; // nothing to do (so don't thrash the SD card)
uint16_t fileCnt = card.getnrfilenames();
START_MENU();
MENU_ITEM(back, MSG_MAIN, lcd_main_menu);