diff --git a/Marlin/src/lcd/menu/menu_sdcard.cpp b/Marlin/src/lcd/menu/menu_sdcard.cpp
index f5fffb91e27..0b10b573759 100644
--- a/Marlin/src/lcd/menu/menu_sdcard.cpp
+++ b/Marlin/src/lcd/menu/menu_sdcard.cpp
@@ -33,8 +33,8 @@
 
 #if !PIN_EXISTS(SD_DETECT)
   void lcd_sd_refresh() {
-    card.initsd();
     encoderTopLine = 0;
+    card.initsd();
   }
 #endif
 
diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp
index a8893e0f123..fb21aab814c 100644
--- a/Marlin/src/sd/cardreader.cpp
+++ b/Marlin/src/sd/cardreader.cpp
@@ -384,6 +384,8 @@ void CardReader::initsd() {
     SERIAL_ECHO_MSG(MSG_SD_CARD_OK);
   }
   setroot();
+
+  ui.refresh();
 }
 
 void CardReader::release() {