diff --git a/Marlin/cardreader.cpp b/Marlin/cardreader.cpp
index dd6ff9f53d6dcf2c2c2c5ef799412a3af9fb9a7b..f564390603189bda3e0524007cf09cc1cd6e3434 100644
--- a/Marlin/cardreader.cpp
+++ b/Marlin/cardreader.cpp
@@ -614,7 +614,8 @@ void CardReader::printingHasFinished() {
     if (SD_FINISHED_STEPPERRELEASE)
       enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND));
     print_job_timer.stop();
-    enqueue_and_echo_commands_P(PSTR("M31"));
+    if (print_job_timer.duration() > 60)
+      enqueue_and_echo_commands_P(PSTR("M31"));
   }
 }