P0128 on 2013-2017 Mazda CX-5: Causes and Fixes for Engine Not Warming Up
For a 2013-2017 Mazda CX-5, code P0128 almost always means the engine thermostat is stuck open and needs to be replaced. This is a common and relatively inexpensive DIY repair, with the part costing around $20-$50. It is a frequent failure item on this platform and its platform mates, the Mazda3 and Mazda6.
- P0128 on a 2013-2017 CX-5 is almost always caused by a bad thermostat that is stuck open.
- The fix is to replace the thermostat (OEM part # PE01-15-171) and refill with Mazda FL-22 coolant.
- This is a manageable DIY job for those comfortable with removing the battery and battery tray for access.
What's Unique About the 2013-2017 Mazda CX-5
The 2013-2017 first-generation (KE) CX-5 uses a conventional, mechanical thermostat that is a known failure point. It is a simple and affordable part to replace. This is a key distinction from the 2018 and newer CX-5 models, which use a more complex and expensive electronic 'Coolant Control Valve' (CCV) that is subject to a specific warranty extension (SSPD8) for a similar issue (often code P0126). For this 2013-2017 model, the fix is straightforward and does not involve the CCV or the associated warranty extension.
Symptoms You May Notice
- Check Engine Light is on
- Engine takes much longer than usual to warm up
- Temperature gauge on the dashboard reads lower than normal or drops during highway driving
- Heater blows lukewarm or cool air, especially at idle
- Noticeable decrease in fuel economy
- Replacing the coolant temperature sensor when the thermostat is the actual problem. The thermostat is the most likely culprit by a wide margin, and diagnosis should start there. 🎬 See this video for a breakdown of P0128 causes and fixes.
Most Likely Causes
- Engine Thermostat Stuck Open 🔴 High Probability → Shop Integrated Thermostat Housing Assembly The mechanical thermostat is a common failure item. It is designed to fail in the open position as a failsafe against overheating, which allows coolant to circulate constantly, preventing the engine from reaching operating temperature. This is a well-documented issue on Skyactiv-G engines from this period.
How to confirm: Use an OBD-II scanner with live data to monitor the coolant temperature. After a cold start, the temperature should rise steadily to ~195-210°F and stabilize. If it gets stuck at a lower temperature (e.g., 160-170°F) or drops significantly at highway speeds, the thermostat is almost certainly stuck open.
Typical fix: Replace the engine thermostat and its gasket. This requires 🎬 Watch: Step-by-step thermostat replacement walkthrough for the CX-5. draining some coolant and removing the battery and battery tray for access. Ensure the system is properly bled of air after 🎬 Watch: How to bleed the cooling system the right way. refilling with coolant.
Est. part cost: $20-$50 - Faulty Engine Coolant Temperature (ECT) Sensor ⚪ Low Probability → Shop Engine Coolant Temperature Sensor While less common than a thermostat failure, a sensor can fail and send inaccurate low-temperature readings to the ECM. These Skyactiv engines have two ECT sensors, increasing the potential points of failure. However, a faulty sensor will often trigger other codes (e.g., P0116, P0117, or P011A) along with P0128.
How to confirm: With the engine cold after sitting overnight, use a scan tool to compare the readings from the Intake Air Temperature (IAT) sensor and both ECT sensors. They should all be within a few degrees of each other. If one ECT sensor reads significantly different, it is likely faulty.
Typical fix: Replace the faulty ECT sensor. ECT sensor #1 is located near the thermostat housing.
Est. part cost: $25-$60 - Low Engine Coolant Level ⚪ Low Probability This is not a platform-specific issue, but if the coolant is low, air pockets can form in the system. If an air pocket gets trapped near an ECT sensor, it can cause an inaccurate, low reading. Check for leaks, as a slow leak could be the root cause.
How to confirm: Visually inspect the coolant level in the overflow reservoir and the radiator (only when the engine is completely cool). If low, top it off and inspect for leaks.
Typical fix: Top off the cooling system with Mazda FL-22 coolant and bleed any air from the system. Find and repair the source of any leaks.
Est. part cost: $20-$30 for coolant
Rare But Worth Checking
- Clogged Heater Core: Mazda issued TSB 07-007/17 for poor heater performance on 2013-2017 CX-5s, which can be caused by a clogged heater core and may trigger related trouble code P011A (ECT sensor performance). While not a direct cause of P0128, a severe blockage could potentially affect coolant flow and temperature readings.
- PCM Control Logic: According to TSB Bulletin #01-021-13-2817A, some vehicles may experience a MIL on with DTC P0128:00 due to improper control logic of the PCM, which requires a software update to correct.
Diagnosis Steps
- Check for other Diagnostic Trouble Codes (DTCs). If codes related to the ECT sensor circuit (e.g., P0116, P0117, P0118) or performance (P011A) are present, investigate the sensor and wiring first.
- If P0128 is the only code, the first step is to check the engine coolant level in the reservoir and radiator (when the engine is cold). Top off with Mazda FL-22 coolant if low.
- Use an OBD-II scanner to monitor live coolant temperature data. Start the engine from cold.
- Watch the temperature reading. It should climb steadily and stabilize between 190°F and 210°F.
- If the temperature plateaus at a lower value (e.g., 160-170°F) or if it reaches operating temperature but then drops significantly when driving at highway speeds, the thermostat is stuck open and must be replaced.
- If the temperature gauge on the scanner behaves erratically or doesn't match the dashboard gauge, suspect a faulty ECT sensor or wiring. Note that on some Mazda models, as described in TSB Bulletin #01-005-20-3704, the engine temperature may be cold and report as hot or vice versa, which can also affect cooling fan operation.
- To confirm a bad sensor, check its resistance with a multimeter or compare its cold reading to the IAT sensor reading as described in the 'Common Causes' section.
- After replacing the thermostat, ensure the cooling system is properly bled to remove any air pockets, which can cause their own cooling issues.
Parts You'll Likely Need
- Engine Coolant Thermostat
(OEM #PE01-15-171)— This is the most common cause of code P0128 on this vehicle, as the part frequently fails by sticking in the open position.
Trusted brands: Mazda (OEM), Motorad, Stant, Gates
OEM price range: $30-$50
Aftermarket price range: $15-$30 - Mazda FL-22 Engine Coolant
(OEM #0000-77-508F-20)— You will lose coolant when replacing the thermostat and must refill the system with the correct type of long-life coolant to prevent damage.
Trusted brands: Mazda (OEM), Peak OET (Blue), Pentofrost A3, Zerex Asian Vehicle (Blue)
OEM price range: $25-$35 per gallon
Aftermarket price range: $20-$30 per gallon
Technical Service Bulletins (TSBs) & Recalls
- 07-007/17 - Relates to poor heater performance from a clogged heater core, which can also set code P011A. While not a direct cause for P0128, it involves the vehicle's heating and cooling system.
- 01-019/19 - Describes oil leakage from the drive belt auto tensioner, a common unrelated issue on these vehicles.
- Bulletin #01-021-13-2817A - Specifically addresses DTC P0128:00 (Thermostat Stuck Open) caused by improper control logic of the PCM, requiring a logic update.
- Bulletin #01-005-20-3704 - A manufacturer service bulletin for related Mazda models noting that incorrect temperature reporting (hot reporting as cold or vice versa) can trigger P0128 and affect fan operation.
Mechanic-Grade Diagnostic Values
- Engine Coolant Temperature (ECT) Sensor Resistance — expected: Approx. 2,200–3,000Ω at 20°C (68°F); Approx. 250–350Ω at 80°C (176°F).. Failure: Resistance is significantly outside the expected range for a given temperature, or shows an open/short circuit.
- ECT Sensor No. 2 Voltage to Temperature Conversion — expected: Voltage should correspond to temperature as per the chart. Examples: 3.10V ≈ 20°C (68°F), 1.75V ≈ 50°C (122°F), 0.87V ≈ 80°C (176°F).. Failure: Live data voltage from the sensor does not plausibly match the engine's state (e.g., high voltage on a hot engine).
Scan Tool Commands That Help
- N/A: No special functions required. — The thermostat on this model is purely mechanical. No bidirectional commands or adaptation resets are needed after replacement. The only required step is to clear the DTCs with a standard OBD-II scanner after the repair is complete.
Wiring & Ground Locations
- ECT Sensor #1 — Located on the left rear of the engine, near the thermostat housing.. This is the primary sensor the PCM uses to determine engine operating temperature for setting code P0128.
- ECT Sensor #2 — Located on the right front of the engine, often in a heater hose.. Used for cross-checking temperature readings and can trigger related code P011A. A fault here can help differentiate a sensor issue from a thermostat issue.
- Engine Bay Ground Points — Key grounds to inspect include the point on the passenger motor mount, grounds on the transmission housing, and the main body ground on the driver's side fender area.. A corroded or loose ground for the engine control circuits can cause erratic sensor readings, potentially leading to an incorrect P0128 code, although this is a rare cause.
Real Owner Repair Stories
- Car Talk Community & Reddit Forums (Various vehicles, including models similar to the CX-5.) — Check Engine Light with code P0128 returned shortly after a mechanic replaced the thermostat.
❌ Tried (didn't work) A single thermostat replacement.
✅ What actually fixed it The issue was resolved after confirming the cooling system was properly bled of all air pockets. An air pocket trapped at the ECT sensor can prevent it from reading the coolant temperature correctly, mimicking a stuck-open thermostat. In other cases, the 'new' aftermarket thermostat was faulty out of the box. - Mazdas247 Forum User (2014 Mazda CX-5) — Check Engine Light with code P011A (Coolant Temperature Sensors 1/2 Correlation).
❌ Tried (didn't work) Replacing the ECT sensor near the thermostat housing.
✅ What actually fixed it After the sensor replacement did not fix the issue, the owner replaced the thermostat, which is the common resolution. This story illustrates the common misdiagnosis of replacing the sensor first when the mechanical thermostat is the more frequent failure point, even when sensor-related codes are present.
OEM Part Supersession History
PE01-15-171→PX8E-15-171 (Optional)— This is not a direct supersession, but an optional OEM part from the newer CX-50 2.5L NA engine. It is reported by enthusiasts to open at a lower temperature, which can help performance-tuned engines run cooler.
Heads up: This is a modification from stock. While it physically fits, installing it will cause the engine to run cooler than designed by default, which may not be ideal for stock vehicles in cold climates and could theoretically trigger a P0128 code if the PCM's expected temperature map is not met.
Diagnostic Flowchart
Other Known Issues on This Vehicle
Issues unrelated to this code that are worth knowing about as an owner of this generation:
- Daytime Running Light (DRL) Failure 🟡 Low — Common on 2016 models, but reported on others. Caused by a faulty sealing gasket on the headlight connector leading to corrosion. (Ref: NHTSA Recall 4320A (Mazda recall 4320A) for 2016 models.)
- Leaking Serpentine Belt Tensioner 🟠 Medium — A very common issue across all 2013-2017 CX-5s. The hydraulic tensioner's seal fails, causing oil to leak onto the engine block and eventually leading to rattling noises and potential belt slippage. (Ref: TSB 01-019/19.)
- Intake Valve Carbon Buildup 🟠 Medium — A long-term consequence of all direct-injection (GDI) engines, including Skyactiv. While Mazda's design mitigates it better than some, significant buildup can occur after 80,000-100,000+ miles, potentially causing rough idle or misfires.
- Spontaneous Windshield Cracking 🟡 Low — Widely reported by owners. Cracks may appear without an obvious impact, often starting from the edge of the glass. This is sometimes attributed to body flex or stress on the glass. (Ref: TSB 09-025/14 addresses cracking noises from the windshield area in cold temperatures due to positioning pins, but not direct cracking.)
Used vs. New Parts: Buying Guide for This Vehicle
When a used part is the smart pick: For this repair, a used part should never be considered. The thermostat is an inexpensive wear-and-tear component, and the labor involved in replacing it far exceeds the cost of a new part. The risk of a used thermostat failing shortly after installation is too high.
What to inspect on the donor part:
- Do not purchase a used thermostat for this repair.
OEM-only on this vehicle (don't cheap out):
- Engine Coolant Thermostat
Aftermarket brands forum-validated for this vehicle:
- Motorad
- Stant
- Gates
Real Owner Stories
Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.
2013 Mazda CX-5 2.0L
Symptoms: Owner documented the replacement process for a thermostat on a vehicle where the engine was not reaching or maintaining proper operating temperature.
What fixed it: Replacement of the engine thermostat.
Source hint: YouTube - A video titled 'Thermostat Replacement on a Mazda CX5' by user 'Normal Guy DIY'
2016 Mazda CX-5
Symptoms: Daytime running lights failing due to corrosion on the headlight connector gasket.
What fixed it: NHTSA Recall 4320A (Mazda recall 4320A) repair.
Source hint: NHTSA Recall 4320A
2021 Mazda CX-5
Symptoms: Serpentine belt area leaking oil.
What fixed it: Replacement of the leaking drive belt auto tensioner.
Source hint: Reddit r/CX5 - A thread titled '2021 CX5 Serpentine Belt Leaking'
Related OBD-II Codes
Frequently Asked Questions
Does TSB 07-007/17 mean my P0128 code is caused by a clogged heater core?
I see oil near my drive belt while fixing P0128; is this related to the cooling system?
Should I use a used thermostat from a donor Mazda3 to save money?
What specific coolant should I use when refilling my CX-5 after a thermostat replacement?
Is there a recall for the lighting issues I'm noticing along with my check engine light?
Can I use an aftermarket thermostat like Gates or Stant for my Skyactiv-G engine?
Helpful Videos
We Have This Part in Stock
The information in this article is provided for general reference and educational purposes only. Vehicle specifications, procedures, and part compatibility can vary by production date, trim level, and region. Always consult your vehicle's factory service manual and verify part numbers before purchasing or performing repairs. Safety-critical components such as airbags, seat belts, and braking systems should be installed by a qualified professional.
- Mazda CX-5:
- 🧭 Diagnostic Flowchart
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2013-2017 Mazda CX-5
- Symptoms You May Notice
- Most Likely Causes
- Rare But Worth Checking
- Diagnosis Steps
- Parts You'll Likely Need
- Technical Service Bulletins (TSBs) & Recalls
- Mechanic-Grade Diagnostic Values
- Scan Tool Commands That Help
- Wiring & Ground Locations
- Real Owner Repair Stories
- OEM Part Supersession History
- Other Known Issues on This Vehicle
- Used vs. New Parts: Buying Guide for This Vehicle
- Real Owner Stories
- 2013 Mazda CX-5 2.0L
- 2016 Mazda CX-5
- 2021 Mazda CX-5
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off