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-2016 Mazda CX-5: Coolant Temp Below Regulating Temperature Causes and Fixes

On a 2013-2016 Mazda CX-5, code P0128 is almost always caused by a faulty engine thermostat that is stuck open. Replacing the thermostat is the most common fix, with the OEM part costing around $30-$40. This is a straightforward mechanical issue, unlike the more complex electronic valve problems in newer CX-5s.

16 minutes to read 2013-2016 Mazda CX-5
Most Likely Cause
Engine Thermostat Stuck Open
Difficulty
3/5
Est. Time
2 hrs
DIY Doable?
✅ Yes
Shop Labor
$200 – $400
Parts Price
$30 – $60
⚠️ Drivable, but... — Yes, you can drive the vehicle, but it's best to get it repaired soon. Continued driving with an engine that doesn't fully warm up can lead to reduced fuel economy, increased emissions, poor heater performance, and potentially accelerated long-term engine wear.
Key Takeaways
  • P0128 on your 2013-2016 CX-5 almost certainly means you need a new engine thermostat.
  • The correct OEM part number is PE01-15-171, which is a relatively inexpensive part.
  • This is a straightforward mechanical fix, unlike newer CX-5s which have a complex electronic coolant valve.
  • While you can drive with this code, it will cause poor fuel economy and heater performance, and should be addressed promptly.
  • The repair is DIY-friendly for those with moderate experience, but requires removing the battery and airbox 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 required operating temperature within a predetermined amount of time after starting. Essentially, the engine is running too cool. The computer sets this code after comparing the actual coolant temperature to the expected warm-up time based on factors like intake air temperature and run time.

What's Unique About the 2013-2016 Mazda CX-5

The 2013-2016 first-generation Mazda CX-5 uses a conventional, simple engine thermostat. This is important because newer CX-5 models (2018+) use a more complex and expensive electronic Coolant Control Valve (CCV) that is known to have issues covered by a warranty extension (SSPD8). For this specific 2013-2016 generation, the problem is almost always the inexpensive, mechanical thermostat itself, making for a more straightforward and affordable repair.

Symptoms You May Notice

  • Check Engine Light is on
  • Engine takes much longer than usual to warm up
  • Temperature gauge on the dashboard stays low or drops at highway speeds
  • Heater blows lukewarm air or is less effective, especially at idle or on cold days
  • 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 Mechanical thermostats are a common wear item across all vehicles. The internal wax element or spring can weaken over time, causing it to fail in the open position. This is the most frequent cause of P0128 by a significant margin.
    How to confirm: After a cold start, monitor the temperature of the upper radiator hose. It should remain cool for several minutes until the engine reaches operating temperature (around 180-195°F), at which point you should feel a sudden rush of hot coolant as the thermostat opens. If the hose warms up gradually along with the engine, the thermostat is stuck open, allowing coolant to circulate prematurely. An OBD-II scanner can also show the coolant temperature struggling to rise or dropping during highway driving.
    Typical fix: Replace the engine thermostat and gasket. It is highly recommended to use a new OEM part to ensure correct temperature regulation.
    Est. part cost: $25-$40
  2. PCM Control Logic Issues 🟡 Medium Probability In some instances, the hardware may be fine, but the software monitoring it is too sensitive. Manufacturer Bulletin #01-021-13-2817A notes that some vehicles may experience a MIL with DTC P0128:00 due to improper control logic of the PCM.
    Typical fix: Update the PCM control logic as specified by the manufacturer.
  3. Low Engine Coolant Level ⚪ Low Probability
    How to confirm: Visually inspect the coolant level in the overflow reservoir when the engine is cold. The level should be between the 'F' (Full) and 'L' (Low) marks. If it's low, you may have a leak. An air pocket near the ECT sensor caused by low coolant can also send an incorrect, low-temperature reading to the ECU, triggering the code.
    Typical fix: Top off the coolant with the correct type (Mazda FL22) and inspect the cooling system for leaks. Bleed the system to remove any air pockets.
    Est. part cost: $20-$30 for a gallon of coolant
  4. Faulty Engine Coolant Temperature (ECT) Sensor ⚪ Low Probability → Shop Engine Coolant Temperature Sensor While sensor failure is possible, it is far less common than thermostat failure for this specific code. A faulty ECT sensor will often trigger other specific codes like P0117 or P0118.
    How to confirm: Use an OBD-II scanner to monitor the live data from the ECT sensor. On a cold engine (after sitting overnight), the ECT reading should be very close to the ambient air temperature (IAT) sensor reading. If the sensor reading is illogical (e.g., reads -40°F on a warm day) or doesn't change as the engine warms up, the sensor is likely faulty. This issue would often be accompanied by other sensor-specific codes.
    Typical fix: Replace the Engine Coolant Temperature (ECT) sensor.
    Est. part cost: $20-$50

Diagnosis Steps

  1. Check the engine coolant level in the reservoir when the engine is cold. If low, top up with Mazda FL22 coolant and check for leaks.
  2. Using an OBD-II scanner, clear the P0128 code. Drive the vehicle and monitor the live coolant temperature data. Observe if the temperature fails to reach ~180°F or if it drops significantly at highway speeds.
  3. With a cold engine, start the vehicle and feel the upper radiator hose. It should not get warm for several minutes. If it warms up gradually as the engine warms, the thermostat is confirmed to be stuck open.
  4. If the hose stays cold until the engine is fully warm and then suddenly gets hot, the thermostat is likely functioning correctly. In this rare case, investigate the ECT sensor.
  5. Using an OBD-II scanner's live data, compare the ECT sensor reading to the ambient air temperature sensor reading on a cold engine. They should be within a few degrees of each other. If not, the ECT sensor may be faulty.
  6. Based on the findings, replace the faulty component. For P0128 on this vehicle, this is most often the thermostat.

Parts You'll Likely Need

  • Engine Coolant Thermostat (OEM #PE01-15-171) — This is the most common cause of code P0128, as the thermostat fails by sticking in the open position.
    Trusted brands: Mazda (OEM), MotoRad, Aisin, Gates
    OEM price range: $30-$40
    Aftermarket price range: $15-$30
  • Mazda Long Life Coolant FL22 (OEM #0000-77-508F-20) — The cooling system will need to be partially drained and refilled during the thermostat replacement. It is critical to use the correct pre-mixed, long-life coolant specified by Mazda.
    Trusted brands: Mazda (OEM), Ravenol HJC FL22, Peak OET Green (FL22 compatible)
    OEM price range: $25-$35 per gallon
    Aftermarket price range: $20-$30 per gallon

Related Codes That Often Appear With This One

Technical Service Bulletins (TSBs) & Recalls

  • TSB 01-021-13-2817A: This bulletin specifically addresses P0128 (Thermostat Stuck Open) on certain models, noting that the concern may be caused by improper control logic of the PCM rather than a mechanical failure.
  • TSB 01-005-20-3704: While issued for the Mazda Tribute, this bulletin notes that a P0128 code can be associated with incorrect cylinder head temperature readings where the engine may be cold but reports as hot, or vice versa, which can also affect cooling fan operation.
  • TSB 01-019/19: While not directly for P0128, this TSB addresses a very common issue on 2013-2019 models: a leaking hydraulic serpentine belt tensioner. This part is in the vicinity of the cooling system and is a frequent maintenance item that owners should be aware of.

Platform-Specific Known Issues

  • Thermostat replacement on the Skyactiv-G engine is more involved than on older cars. Access requires disconnecting the negative battery terminal, removing the battery, the battery tray, and the air filter housing assembly to reach the thermostat housing, which is located on the driver's side of the engine block.

Mechanic-Grade Diagnostic Values

  • Engine Coolant Temperature (ECT) Sensor Resistance — expected: Approximately 2,000-3,000 Ω at 20°C (68°F), dropping to 200-300 Ω at 90°C (194°F).. Failure: Resistance is infinite (open circuit), zero (short circuit), or does not decrease smoothly as the sensor is heated. A scan tool showing a reading of -40°F is a definitive sign of an open circuit or disconnected sensor.
  • Engine Coolant Temperature (ECT) Sensor Voltage (Signal Wire to Ground) — expected: Approximately 2.0V - 3.0V on a cold engine, dropping to around 0.5V when the engine is at full operating temperature.. Failure: Voltage is stuck at 5.0V (open circuit) or 0V (short to ground). Voltage that does not change with temperature or gives illogical readings indicates a faulty sensor or wiring issue.

Wiring & Ground Locations

  • ECT Sensor No. 1 — Located near the thermostat housing, under the battery and air filter assembly on the driver's side of the engine.. This is the primary sensor the PCM uses to monitor the warm-up cycle and set code P0128. A bad connection or faulty sensor here is a potential, though uncommon, cause.
  • ECT Sensor No. 2 — Located on the passenger side of the engine against the firewall, mounted on a coolant hose connection.. The PCM compares readings between ECT Sensor 1 and 2. A significant mismatch can trigger other codes (like P011A) and can help diagnose a sensor issue versus a thermostat issue.
  • Engine Ground Points — Multiple ground points are located throughout the engine bay. For ECT sensor circuits, consult the factory electrical wiring diagram to identify the specific ground point (e.g., G10) used by the sensor harness.. A corroded or loose ground connection for the ECT sensor circuit can cause incorrect voltage readings, mimicking a sensor failure and potentially leading to a P0128 or related code.

Real Owner Repair Stories

  • Reddit user in r/MechanicAdvice (2012 Honda Civic 1.8L (similar diagnostic principle)) — Check Engine Light with code P0128.
    ❌ Tried (didn't work) Replaced the thermostat with an 'OEM equivalent' part from an auto parts store.
    ✅ What actually fixed it The P0128 code returned two months after the initial repair. The discussion pointed towards the likely failure of the aftermarket thermostat, emphasizing that a stuck-open thermostat is the most common cause, but also highlighting that other issues like a constantly running fan or faulty ECT sensor could be culprits. The final fix was not posted, but the story serves as a strong caution against non-OEM thermostats.

OEM Part Supersession History

  • PE01-15-171PE01-15-171 — No supersession found. This part number appears to be stable for the entire 2013-2016 model year range.

Diagnostic Flowchart

Other Known Issues on This Vehicle

Issues unrelated to this code that are worth knowing about as an owner of this generation:

  • Leaking Serpentine Belt Tensioner 🟠 Medium — Very common, often occurs between 60,000 and 100,000 miles. The tensioner leaks hydraulic fluid, causing squealing noises and potential belt failure. (Ref: TSB 01-019/19)
  • Infotainment System Glitches (Mazda Connect) 🟡 Low — Widespread issue where the system freezes, reboots randomly, or becomes unresponsive. Often appears after 60,000 miles.
  • Intake Valve Carbon Buildup 🟠 Medium — A long-term consequence of the direct-injection (GDI) engine design. Can cause misfires and reduced performance, typically becoming noticeable after 80,000-100,000 miles if not maintained.
  • Prematurely Worn/Noisy Front Suspension Components 🟡 Low — Some vehicles may develop knocking or squeaking from front shock absorbers or creaking from lower arm bushings when driving over rough roads. (Ref: TSB 02-010/16)
  • Milky/Stained Headlight Lenses 🟡 Low — On models with LED or HID headlights, a faulty gasket can emit a gas that causes a milky white stain on the inside of the lens, reducing light output. (Ref: TSB 09-014/16)

Used vs. New Parts: Buying Guide for This Vehicle

When a used part is the smart pick: For this specific repair, using a used part is NOT recommended for the thermostat itself. However, if the plastic thermostat housing were damaged during the repair, a used housing from a reputable auto recycler could be a cost-effective option.

Donor-vehicle mileage cap: roughly under 80000 miles for the part to have meaningful remaining life.

What to inspect on the donor part:

  • For a thermostat housing, inspect for any cracks, warping, or heavy corrosion, especially around the mating surfaces and hose connections.
  • Ensure all threaded inserts are intact and not stripped.
  • Verify the donor vehicle was not in a severe front-end collision that could have stressed the cooling system components.

OEM-only on this vehicle (don't cheap out):

  • Engine Coolant Thermostat: This is a critical, inexpensive component where failure directly causes the P0128 code. The labor to replace it is significant, making the risk of a premature failure from a used or questionable aftermarket part a poor economic choice.

Aftermarket brands forum-validated for this vehicle:

  • While OEM is strongly preferred, brands like Aisin (often an OEM supplier to Japanese automakers) are generally considered reliable if an OEM part is unavailable.

Brands owners have reported issues with on this vehicle:

  • General 'white-box' or store-brand thermostats (e.g., from Advance Auto, AutoZone) have anecdotal reports of premature failure.
  • MotoRad: While a major manufacturer, some direct comparisons have shown their thermostats for Mazda applications may have smaller valve openings than OEM, potentially restricting flow under high load.
  • Be cautious of brands like Gates or Beck/Arnley for thermostats, as they are often re-boxers and may contain a MotoRad or other generic part inside.

Real Owner Stories

Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.

2014 Mazda CX-5 Skyactiv-G

Symptoms: Experienced a coolant-related code and needed to address the thermostat. Noted that the thermostat is a common failure point.

What fixed it: Replaced both the coolant temperature sensor and the thermostat, which required removing the battery for access.

Source hint: Mazdas247 Forum: Coolant temperature sensor

2016 Mazda 6 Skyactiv-G 2.5L — ~60000 miles

Symptoms: Serpentine belt failure; noted that hydraulic tensioners on these engines are known for failing early.

What fixed it: Replacement of the hydraulic tensioner (related to TSB 01-019/19).

Source hint: BobIsTheOilGuy Forum: Threw my serpentine belt today

Frequently Asked Questions

Does TSB 01-019/19 for the serpentine belt tensioner relate to my P0128 code?
While TSB 01-019/19 addresses a common leaking hydraulic serpentine belt tensioner on 2013-2019 models, it is not directly for P0128. However, the tensioner is located near the cooling system and is a frequent maintenance item to check while addressing cooling issues.
What type of coolant should I use to top off my 2013-2016 CX-5?
You should use Mazda FL22 coolant. Using the correct type is essential when topping off the reservoir or bleeding the system to remove air pockets that can cause incorrect ECT sensor readings.
Why is the thermostat replacement on my Skyactiv-G engine considered 'involved'?
Accessing the thermostat housing on the driver's side of the engine block requires disconnecting the negative battery terminal and removing the battery, the battery tray, and the air filter housing assembly.
Can a faulty Engine Coolant Temperature (ECT) sensor cause P0128 on my CX-5?
Yes, though it is far less common than thermostat failure. A faulty sensor might send an incorrect low-temperature reading to the ECU, especially if there is an air pocket near the sensor due to low coolant levels.
Is it true that other Mazda models like the Mazda 3 or Mazda 6 have this same P0128 issue?
Yes. The 2012-2018 Mazda 3 and 2013-2017 Mazda 6 are platform mates that share the same Skyactiv-G engine architecture and mechanical thermostat setup, making them prone to the same failure.
My heater is blowing lukewarm air at idle; is this related to the Check Engine Light?
Yes, this is a common symptom of P0128. If the thermostat is stuck open, the engine cannot reach or maintain operating temperature, resulting in less effective heater performance and lukewarm air.
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
DIY Fix – Fault Code P0128 (Coolant Temperature Below Thermostat Regulating Temperature)
DIY Fix – Fault Code P0128 (Coolant Temperature Below Thermostat Regulating Temperature)
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
Remove & Replace: Thermostat + Coolant & Clean Throttle Body 2.0 2.5L 2014 to 2020 Mazda 3, 6, CX-5
Remove & Replace: Thermostat + Coolant & Clean Throttle Body 2.0 2.5L 2014 to 2020 Mazda 3, 6, CX-5
Thermostat Replacement on a Mazda CX5
Thermostat Replacement on a Mazda CX5
2014 and up Mazda 2.5 sky active thermostat replacement
2014 and up Mazda 2.5 sky active thermostat replacement
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 (Deep Dive) for:
  • Mazda CX-5: 2013201420152016
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