diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp
index 6f9e527832de5d1cfd1bbc9fc74329210417d39f..18cbbaa237830e4cd89badfc102390851fcd8c64 100644
--- a/Marlin/src/Marlin.cpp
+++ b/Marlin/src/Marlin.cpp
@@ -1053,6 +1053,10 @@ void setup() {
     fanmux_init();
   #endif
 
+  #if HAS_TRINAMIC && HAS_LCD_MENU
+    init_tmc_section();
+  #endif
+
   #if ENABLED(MIXING_EXTRUDER)
     mixer.init();
   #endif
diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp
index 8dbec921e19653351126ce1db18c747d4364c10a..4035bd34cdedfd6a5f69609397b04c6c4e9cf5f6 100644
--- a/Marlin/src/lcd/ultralcd.cpp
+++ b/Marlin/src/lcd/ultralcd.cpp
@@ -293,10 +293,6 @@ void MarlinUI::init() {
   #if HAS_ENCODER_ACTION
     encoderDiff = 0;
   #endif
-
-  #if HAS_TRINAMIC && HAS_LCD_MENU
-    init_tmc_section();
-  #endif
 }
 
 bool MarlinUI::get_blink() {