Go-Parts
Cart 0
Your cart is empty
Add an item to see it appear here.
Wrenchy
Go-Parts Garage
Expert guides for diagnosing, troubleshooting, and replacing auto parts Expert guides for diagnosing and replacing auto parts
Browse All Articles →
🧭 Diagnostic Flowchart 🎬 Helpful Videos 🛍️ Shop This Part

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.

16 minutes to read 2013-2017 Mazda CX-5
Most Likely Cause
Engine Thermostat Stuck Open
Difficulty
3/5
Est. Time
2 hrs
DIY Doable?
✅ Yes
Shop Labor
$180 – $350
Parts Price
$20 – $60
⚠️ Drivable, but... — Yes, you can drive the vehicle, but it should be repaired soon. Continued driving will result in poor fuel economy, increased emissions, and potentially inadequate cabin heat. A cold-running engine can also lead to accelerated wear over the long term.
Key Takeaways
  • 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.
The trouble code P0128, defined as 'Coolant Temperature Below Thermostat Regulating Temperature', means your vehicle's Engine Control Module (ECM) has detected that the engine is not reaching its proper operating temperature within a predetermined amount of time after being started. Essentially, the engine is running too cool for too long. The ECM expects the engine to warm up to a minimum temperature, typically between 160–190°F, within a few minutes of starting. If the Engine Coolant Temperature (ECT) sensor reports that this threshold hasn't been met, the code is triggered.

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
⚠️ Don't Waste Money on the Wrong Fix

Most Likely Causes

  1. 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
  2. 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
  3. 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

  1. 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.
  2. 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.
  3. Use an OBD-II scanner to monitor live coolant temperature data. Start the engine from cold.
  4. Watch the temperature reading. It should climb steadily and stabilize between 190°F and 210°F.
  5. 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.
  6. 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.
  7. 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.
  8. 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-171PX8E-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'

Frequently Asked Questions

Does TSB 07-007/17 mean my P0128 code is caused by a clogged heater core?
Not directly. TSB 07-007/17 relates to poor heater performance and code P011A due to a clogged heater core. While P0128 also causes lukewarm air, it is primarily triggered by a thermostat stuck open, whereas the TSB focuses on the heater core's internal condition.
I see oil near my drive belt while fixing P0128; is this related to the cooling system?
No, that is likely a separate common issue described in TSB 01-019/19. It involves the hydraulic serpentine belt tensioner leaking oil, which is a known failure on the 2013-2017 CX-5 platform.
Should I use a used thermostat from a donor Mazda3 to save money?
No. The article context explicitly states that a used part should never be considered for this repair because the thermostat is an inexpensive wear-and-tear item and the labor to access it (removing the battery and tray) is significant.
What specific coolant should I use when refilling my CX-5 after a thermostat replacement?
You should use Mazda FL-22 coolant. This is specifically recommended for topping off and refilling the system to ensure compatibility and prevent leaks.
Is there a recall for the lighting issues I'm noticing along with my check engine light?
Yes, if you have a 2016 model, NHTSA Recall 4320A (Mazda recall 4320A) addresses Daytime Running Light (DRL) failure caused by a faulty sealing gasket on the headlight connector.
Can I use an aftermarket thermostat like Gates or Stant for my Skyactiv-G engine?
Yes, while OEM is preferred, Motorad, Stant, and Gates are listed as known-good aftermarket brands for the engine coolant thermostat.
Thermostat Replacement on a Mazda CX5
Thermostat Replacement on a Mazda CX5
CODE P0126 P0128 THERMOSTAT OPEN FIX | ENGINE LIGHT ON MAZDA 2 3 5 6 CX-7 CX-9 CX-5 CX-3 CX-8
CODE P0126 P0128 THERMOSTAT OPEN FIX | ENGINE LIGHT ON MAZDA 2 3 5 6 CX-7 CX-9 CX-5 CX-3 CX-8
P0128 Code: Coolant Temperature Below Thermostat – Causes & Fix
P0128 Code: Coolant Temperature Below Thermostat – Causes & Fix
Mazda Mazda3, Mazda6, CX-30, CX-4, CX-5, CX-8,CX-9 Water Pump, Thermostat and Belts Replacement
Mazda Mazda3, Mazda6, CX-30, CX-4, CX-5, CX-8,CX-9 Water Pump, Thermostat and Belts Replacement
2014 and up Mazda 2.5 sky active thermostat replacement
2014 and up Mazda 2.5 sky active thermostat replacement
Mazda CX5 Gen1 Coolant replacement / Cooling System Bleeding  - The Right Way
Mazda CX5 Gen1 Coolant replacement / Cooling System Bleeding - The Right Way
Mazda CX-5 | Bleeding the coolant & locating leaks
Mazda CX-5 | Bleeding the coolant & locating leaks
Replace your coolant || Mazda CX 5 CX 3 Mazda 3 6 Biante Skyactiv
Replace your coolant || Mazda CX 5 CX 3 Mazda 3 6 Biante Skyactiv
Change Coolant Mazda CX-5 Without Special Tools
Change Coolant Mazda CX-5 Without Special Tools
Wrenchy
Article researched & written by
Go-Parts' AI research assistant. Every article is backed by live web research, verified OEM data, and real technician knowledge — so you get accurate, up-to-date information you can trust.
Meet Wrenchy → Updated May 30, 2026

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.

Year Coverage
This article covers the OBD-II Code P0128 for:
  • Mazda CX-5: 20132014201520162017
In this article
🧭 Diagnostic Flowchart
Jump to ▴

Email This Guide

We'll send you a link to this article so you can read it later or share it.

Added to cart · Part