diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 7c715d8373..94205f0045 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -1156,7 +1156,14 @@ void process_commands()
       #endif
       
       case 81: // M81 - Turn off Power Supply
-      
+        disable_heater();
+        st_synchronize();
+        disable_e0();
+        disable_e1();
+        disable_e2();
+        finishAndDisableSteppers();
+        fanSpeed = 0;
+        delay(1000); // Wait a little before to switch off
       #if defined SUICIDE_PIN && SUICIDE_PIN > -1
         st_synchronize();
         suicide();