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;