diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp
index 10a5034727a3cda269f99aad7cff762926f28ffb..07299a3a5c8c987acf8a83908c93a55fccc28201 100644
--- a/Marlin/temperature.cpp
+++ b/Marlin/temperature.cpp
@@ -1138,10 +1138,12 @@ void Temperature::disable_all_heaters() {
uint32_t max6675_temp = 2000;
#define MAX6675_ERROR_MASK 7
#define MAX6675_DISCARD_BITS 18
+ #define MAX6675_SPEED_BITS (_BV(SPR1)) // clock ÷ 64
#else
uint16_t max6675_temp = 2000;
#define MAX6675_ERROR_MASK 4
#define MAX6675_DISCARD_BITS 3
+ #define MAX6675_SPEED_BITS (_BV(SPR0)) // clock ÷ 16
#endif
int Temperature::read_max6675() {
@@ -1161,7 +1163,7 @@ void Temperature::disable_all_heaters() {
PRR0
#endif
, PRSPI);
- SPCR = _BV(MSTR) | _BV(SPE) | _BV(SPR0);
+ SPCR = _BV(MSTR) | _BV(SPE) | MAX6675_SPEED_BITS;
WRITE(MAX6675_SS, 0); // enable TT_MAX6675