diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp
index 285871a87960c662465d6513ceb5ff289d82e6fc..cc31916e18711563e5ee19f04c0cdc7e64d356ed 100644
--- a/Marlin/temperature.cpp
+++ b/Marlin/temperature.cpp
@@ -1333,8 +1333,22 @@ void Temperature::disable_all_heaters() {
 
     WRITE(MAX6675_SS, 1); // disable TT_MAX6675
 
-    if (max6675_temp & MAX6675_ERROR_MASK)
+    if (max6675_temp & MAX6675_ERROR_MASK) {
+      SERIAL_ERROR_START;
+      SERIAL_ERRORPGM("Temp measurement error! ");
+      #if MAX6675_ERROR_MASK == 7
+        SERIAL_ERRORPGM("MAX31855 ");
+        if (max6675_temp & 1)
+          SERIAL_ERRORLNPGM("Open Circuit");
+        else if (max6675_temp & 2)
+          SERIAL_ERRORLNPGM("Short to GND");
+        else if (max6675_temp & 4)
+          SERIAL_ERRORLNPGM("Short to VCC");
+      #else
+        SERIAL_ERRORLNPGM("MAX6675");
+      #endif
       max6675_temp = 4000; // thermocouple open
+    }
     else
       max6675_temp >>= MAX6675_DISCARD_BITS;