diff --git a/Marlin/ultralcd.cpp b/Marlin/ultralcd.cpp
index 607b49eeb5300aa462ad91df17866625b8714a9d..4e07ac3060b4ba34c9728c1fc65023828de3f4cc 100644
--- a/Marlin/ultralcd.cpp
+++ b/Marlin/ultralcd.cpp
@@ -1051,7 +1051,7 @@ void lcd_update()
lcd_buttons_update();
#if (SDCARDDETECT > 0)
- if((IS_SD_INSERTED != lcd_oldcardstatus))
+ if((IS_SD_INSERTED != lcd_oldcardstatus && lcd_detected()))
{
lcdDrawUpdate = 2;
lcd_oldcardstatus = IS_SD_INSERTED;