2007 Mazda3 P0128 Code Returns After Thermostat and ECTS Replacement - Fix & Drive Cycle Solution
Hi everyone, I'm a 2007 Mazda3 Hatchback owner experiencing recurring trouble code P0128 despite completing repairs. I've done my own diagnostics and replaced both the thermostat and engine coolant temperature sensor (ECTS) as recommended by research. After installation, the P0126 code cleared successfully, but P0128 persisted. I attempted to clear the code myself using an OBD2 scanner, only for it to reappear shortly after. My local mechanic suggested that the engine control module (PCM) monitors must be reset at a Mazda dealership — which I did. The dealer cleared the code successfully, but it returned approximately 45 miles later. To troubleshoot further, I ran diagnostics and observed engine temperatures: around 170–190°F near the thermostat housing and about 205°F at the top of the engine after 5–10 minutes of idle. I'm now concerned that the issue may not be related to coolant flow or sensor failure, but rather a misalignment between the PCM's perceived temperature and actual engine heat. I've read that P0128 is triggered when the engine doesn't reach the required operating temperature (typically 175–190°F) as detected by the PCM — not necessarily by infrared thermometers. I'm currently facing a smog check deadline and need reliable, long-term resolution. Any insights into proper drive cycle completion or known TSBs for this model year would be greatly appreciated.
Did you replace the thermostat with an OEM part from Mazda? While it's a simple component, many aftermarket units have quality issues that can lead to P0128. The key point is not what your infrared thermometer reads — it's what the Powertrain Control Module (PCM) actually senses. A proper OBD2 scanner is essential for live data monitoring. Note: Monitor resets do not require a dealer — they only need a complete drive cycle to validate system readiness. Some vehicles may need multiple cycles. Recommended Drive Cycle (Basic): - MIL off, no active DTCs present - Fuel level between 15% and 85% - All accessories turned off - Cold start: ideally after an 8-hour cold soak with engine at 68–86°F Steps: 1) Start vehicle and idle for 5 minutes. 2) Rev to 2300–2700 rpm in neutral/park for 15 seconds. 3) Rev to 3800–4200 rpm for 15 seconds. 4) Idle for 20 seconds with cooling fan off. 5) Accelerate to 52–55 mph, maintain speed (in high gear) for 1.5 minutes. 6) Decelerate to 15 mph and drive at varying speeds from 15 to 35 mph for 13 minutes. 7) Maintain steady 25 mph for 50 seconds. Each step tests a different system monitor (catalyst, O2 sensor, EVAP, etc.). Skipping any step may prevent the PCM from recognizing readiness. Some vehicles require multiple cycles to clear P0128 permanently. Also, check if your vehicle is affected by Mazda Bulletin No: 01-046/06 — this addresses engine warm-up timing and may explain why the code returns early. Always use a dedicated OBD2 scanner for live data; infrared tools are not reliable for PCM temperature readings.