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 →
🎬 Helpful Videos 🛍️ Shop This Part

P0128 on 2014-2021 Mazda 6: Causes and Fixes for Coolant Temperature Issues

For a 2014-2021 Mazda 6, code P0128 almost always means the engine thermostat is stuck open. This is a common failure point. Replacing the thermostat is the typical fix. For 2018-2021 models, this repair may be covered under a warranty extension (SSPD8) related to code P0126, so check with a dealer first. An OEM thermostat costs around $25-$40.

20 minutes to read 2014-2021 Mazda 6
Most Likely Cause
Stuck-Open Engine Thermostat
Difficulty
3/5
Est. Time
2 hrs
DIY Doable?
✅ Yes
Shop Labor
$200 – $400
Parts Price
$30 – $80
⚠️ Drivable, but... — You can drive the car, but it's not recommended for long periods. Continued driving will lead to poor fuel economy, increased emissions, and a lack of cabin heat in cold weather. Over a long period, running too rich and cool can potentially harm the catalytic converter.
Key Takeaways
  • P0128 on a 2014-2021 Mazda 6 is almost always caused by a thermostat that has failed in the stuck-open position.
  • Key symptoms include a Check Engine Light, the engine warming up very slowly, and poor cabin heater performance.
  • The most reliable diagnostic method is to watch the live coolant temperature on a scan tool; if it doesn't reach ~180°F+, the thermostat is bad.
  • The repair is DIY-friendly for those with some mechanical skill, but may require moving the power steering pump for access.
  • Always use Mazda's specified FL22 coolant when refilling the system after the repair.
The trouble code P0128, 'Coolant Temperature Below Thermostat Regulating Temperature,' indicates that your car's engine is not warming up to its proper operating temperature within the time expected by the Engine Control Module (ECM). The ECM monitors the engine coolant temperature from a cold start and if it rises too slowly or fails to reach a minimum threshold (typically around 160-180°F for this platform), it triggers the Check Engine Light. This usually happens because coolant is circulating through the radiator when it shouldn't be, preventing the engine from retaining heat.

What's Unique About the 2014-2021 Mazda 6

The 2014-2021 Mazda 6 (third generation, GJ1/GL) with the Skyactiv-G engine is generally reliable, but like many modern vehicles, the thermostat is designed to fail in the open position as a safety measure against overheating. This specific failure mode is the direct cause of the P0128 code. While there isn't a specific recall for this code, Mazda has acknowledged a widespread thermostat issue on 2018-2021 models (and other platform mates) that triggers the very similar P0126 code. This is covered by a warranty extension (SSPD8), and owners with P0128 should inquire with a dealer about potential coverage.

Symptoms You May Notice

  • Check Engine Light is on
  • Engine takes a very long time to warm up
  • Temperature gauge on the dashboard stays low or fluctuates, especially dropping on the highway.
  • Heater blows lukewarm or cold air, or takes a long time to get warm.
  • Noticeable decrease in fuel economy.
  • Blue low coolant temperature indicator light stays on longer than usual or comes on while driving.
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing the Engine Coolant Temperature (ECT) sensor when the thermostat is the actual problem. If there are no other codes pointing to an electrical fault with the sensor circuit (like P0117 or P0118), the mechanical thermostat is the most likely culprit.

Most Likely Causes

  1. Stuck-Open Engine Thermostat 🔴 High Probability Thermostats are wear items designed to fail-safe in the open position. This is a well-documented issue on many Mazda vehicles, particularly 2018+ models which have a specific warranty extension (SSPD8) for this failure, even if the code is P0126.
    How to confirm: Use an OBD-II scanner to monitor live coolant temperature data from a cold start. If the temperature rises very slowly, struggles to get above 170-180°F, or drops significantly at highway speeds, the thermostat is stuck open.
    Typical fix: Replace the engine coolant thermostat and gasket. It is also recommended to drain and refill the coolant with Mazda's specified FL22 type. 🎬 Watch: Step-by-step walkthrough for replacing the Skyactiv thermostat. For 2018-2021 models, contact a Mazda dealer to see if the repair is covered under warranty extension SSPD8.
    Est. part cost: $25-$40 for an OEM thermostat.
  2. Faulty Engine Coolant Temperature (ECT) Sensor ⚪ Low Probability
    How to confirm: Check for other ECT-related codes (e.g., P0116, P0117, P0118). Compare the ECT sensor reading on a scanner to the ambient air temperature after the car has been off for several hours; they should be very close. If the reading is irrational (e.g., -40°F on a warm day or gives a 'high engine temp' warning on a cold start), the sensor is bad.
    Typical fix: Replace the engine coolant temperature sensor. 🎬 See how to replace the coolant temperature sensor yourself. A manufacturer service bulletin for other Mazda models, TSB Bulletin #01-005-20-3704, notes that a faulty sensor can cause the engine temperature to report as hot when it is actually cold, or vice versa, and may also affect cooling fan operation.
    Est. part cost: $50-$65 for an OEM sensor.
  3. Low Engine Coolant Level ⚪ Low Probability
    How to confirm: Visually inspect the coolant reservoir and radiator (when the engine is cold) to ensure the level is between the 'MIN' and 'MAX' lines. An air pocket near the ECT sensor can cause false readings.
    Typical fix: Top off the coolant with the correct type (Mazda FL22) and bleed the system to remove any air pockets. 🎬 Watch: How to properly drain and bleed the cooling system. Investigate and fix the source of the coolant loss.
    Est. part cost: $20-$30 for a gallon of coolant.

Rare But Worth Checking

  • Cooling Fan Stuck On: If the electric cooling fan runs constantly, even when the engine is cold, it can over-cool the engine and prevent it from reaching operating temperature. This is often caused by a faulty fan control module or relay, a known minor issue on this platform.
  • PCM Control Logic: In some Mazda vehicles, P0128 can be triggered by improper control logic of the Powertrain Control Module (PCM) rather than a mechanical failure, as described in TSB Bulletin #01-021-13-2817B.

Diagnosis Steps

  1. Use an OBD-II scanner to confirm P0128 is the only code present. If other codes exist, address them first.
  2. With the engine cold, check the coolant level in the reservoir and radiator. Ensure it is full and that the coolant is clean.
  3. For 2018-2021 models, call a Mazda dealer with your VIN and ask if warranty extension SSPD8 for thermostat failure applies to your vehicle, even with code P0128.
  4. Use the scanner's live data feature to monitor the Engine Coolant Temperature (ECT). Start the engine from cold.
  5. Observe the temperature climb. It should rise steadily to around 180-200°F and stabilize.
  6. If the temperature rises very slowly, never reaches the target range, or drops significantly while driving at highway speeds, the thermostat is almost certainly stuck open and needs to be replaced.
  7. If the temperature reading on the scanner is erratic or clearly incorrect from the start (e.g., reads maximum hot or minimum cold when the engine is off), suspect a faulty ECT sensor or wiring issue.
  8. Check if the radiator cooling fan is running when the engine is cold and the A/C is off. It should be off. If it's on, diagnose the fan control circuit.

Parts You'll Likely Need

  • Engine Coolant Thermostat (OEM #PE01-15-171 (or PE01-15-171A)) — This is the most common cause of P0128. The original part fails by sticking in the open position, preventing the engine from warming up correctly.
    Trusted brands: Mazda (OEM), Aisin, Gates, Motorad
    OEM price range: $25-$40
    Aftermarket price range: $15-$30
  • Engine Coolant Temperature (ECT) Sensor (OEM #PE18-18-840) — This is the second most likely cause, though much less common than the thermostat. It can fail and send incorrect temperature readings to the computer.
    Trusted brands: Mazda (OEM), Denso, Bosch
    OEM price range: $50-$65
    Aftermarket price range: $20-$40
  • Mazda Long Life Coolant FL22 (OEM #0000-77-508E-20) — The cooling system must be drained to replace the thermostat, so you will need to refill it with the manufacturer-specified coolant. Using the correct P-HOAT coolant is critical for longevity.
    Trusted brands: Mazda (OEM), Ravenol HJC, Pentofrost A3
    OEM price range: $25-$35 per gallon
    Aftermarket price range: $20-$30 per gallon

Related Codes That Often Appear With This One

  • P0126 — P0126 ('Insufficient Coolant Temperature for Stable Operation') is a very similar code often triggered by the exact same fault: a stuck-open thermostat. For 2018-2021 models, Mazda issued a warranty extension (SSPD8) specifically for P0126, making it crucial to check with a dealer even if you have P0128.

Technical Service Bulletins (TSBs) & Recalls

  • TSB 01-001/26 (and its revisions): Details the diagnosis and repair for DTC P0126:00 caused by a stuck-open thermostat on 2018-2021 Mazda 6 models, among others. It is the basis for the SSPD8 warranty extension.
  • Warranty Extension Program SSPD8: Extends warranty coverage for the specific repair of the fail-safe thermostat to 15 years or 150,000 miles for affected vehicles, including the 2018-2021 Mazda 6.
  • TSB Bulletin #01-021-13-2817B: Notes that some Mazda vehicles may experience a MIL with DTC P0128:00 due to improper control logic of the PCM, which requires a software update to correct.
  • TSB Bulletin #01-005-20-3704: Describes issues where the engine temperature may be cold but report as hot (or vice versa) with DTC P0128 present, potentially affecting cooling fan operation.

Platform-Specific Known Issues

  • For 2018-2021 models, Mazda issued a warranty extension (SSPD8) for a widespread thermostat failure causing code P0126. This TSB (01-001/26) covers the Mazda 6 with the 2.5L non-turbo engine. Owners experiencing P0128 should contact a Mazda dealer with their VIN to see if their vehicle's thermostat-related repair might be covered, as the root cause is identical.

Mechanic-Grade Diagnostic Values

  • Engine Coolant Temperature (ECT) Sensor Resistance — expected: ~2,200 - 3,000 Ω at 20°C (68°F). Failure: Significantly higher or lower resistance, or an open/short circuit reading.
  • Engine Coolant Temperature (ECT) Sensor Resistance at Operating Temp — expected: ~250 - 350 Ω at 80°C (176°F). Failure: Resistance does not drop into this range when the engine is fully warmed up.
  • Engine Coolant Temperature (ECT) Sensor Signal Voltage (Cold Start) — expected: ~2.0V - 3.5V at ~20°C (68°F). Failure: Voltage is near 0V or 5V, or does not correlate with ambient temperature.
  • Engine Coolant Temperature (ECT) Sensor Signal Voltage (Operating Temp) — expected: ~0.5V - 1.3V at ~80-90°C (176-194°F). Failure: Voltage fails to drop to this range as the engine warms up on a scan tool.
  • P0128 Set Condition Temperature — expected: Engine coolant temperature fails to reach ~160-180°F (71-82°C) within a predetermined time after startup.. Failure: Live data on a scan tool shows temperature plateauing below this range, or dropping significantly at speed.

Scan Tool Commands That Help

  • Mazda M-MDS (or high-end generic like FORScan): Data Logger - Monitor PIDs: ECT and ECT2_V — This is used to compare the primary engine coolant temp sensor (ECT) with the secondary sensor (ECT2) located at the radiator. A large discrepancy between the two on a cold engine can indicate a faulty sensor, although P0128 is more often related to the primary ECT and thermostat. A TSB for code P2183 on other models uses this method to diagnose a corroded ECT2 sensor.

Wiring & Ground Locations

  • ECT Sensor 1 (Primary) — Screwed into the thermostat housing, located on the driver's side of the engine block, below the air intake tube.. This is the primary sensor the ECM uses to determine if the engine is warming up correctly. A bad connection, corroded pins, or damaged wiring at its 2-pin connector can mimic a sensor failure or cause intermittent readings, complicating the diagnosis of P0128.

Real Owner Repair Stories

  • Reddit user in r/Cartalk (2012 Honda Civic (similar logic, different vehicle)) — Check Engine Light with code P0128.
    ❌ Tried (didn't work) Replaced the thermostat with an aftermarket 'OEM equivalent' from a parts store.
    ✅ What actually fixed it The P0128 code returned two months later. The consensus from mechanics in the thread was that the aftermarket thermostat likely failed prematurely or was faulty from the start, and that the next step should be to replace it again, preferably with a genuine OEM part, before suspecting other causes.

OEM Part Supersession History

  • PE01-15-171PE01-15-171A — Standard part revision. While not explicitly stated, revisions often address reliability improvements or minor manufacturing changes. The 'A' revision is the current recommended part.
    Heads up: The parts are physically interchangeable. However, for any warranty claims or for 2018+ models, using the latest 'A' revision is strongly recommended.

Model Year Variations Within This Range

  • 2018-2021: These later 'GL' refresh models are the primary focus of Mazda's TSB 01-001/26 and warranty extension SSPD8 for thermostat failure (even though it's for code P0126). The failure rate appears higher on these models. Additionally, the 2.5L non-turbo engine received cylinder deactivation starting in 2018, though this does not directly affect the cooling system components related to P0128.
  • 2018+: A redesigned, more reliable hydraulic belt tensioner pulley was introduced in 2018. While not directly related to P0128, it's a significant reliability improvement for the platform over the 2014-2017 models, which had a tensioner known to leak.

Diagnostic Flowchart

Start by checking for coolant levels and secondary codes. This flowchart focuses on the common fail-safe thermostat issues prevalent in the Skyactiv-G platform.
Check the coolant reservoir and radiator (when cold). Is the level between MIN and MAX with no air pockets?
Is the vehicle a 2018-2021 model year?
Check your VIN for Warranty Extension SSPD8 (related to TSB 01-001/26). Does your vehicle qualify for the 15-year/150,000-mile thermostat coverage?
→ Contact a Mazda dealer. Under SSPD8, the replacement of the fail-safe thermostat is covered due to a widespread manufacturing defect in the 2.5L Skyactiv-G engine.
Monitor live ECT data from a cold start. Does the temperature rise slowly and drop significantly when driving at highway speeds?
With the engine cold and A/C OFF, is the radiator cooling fan running?
→ The thermostat is stuck open in the 'fail-safe' position. Replace the engine coolant thermostat and gasket ($25-$40). Refill with Mazda FL22 coolant to prevent corrosion of the Skyactiv-G cooling passages.
→ Diagnose the cooling fan relay or fan control circuit. A fan that runs constantly will over-cool the engine, preventing it from reaching the target temperature required by the PCM, triggering P0128.
→ If the engine reaches operating temperature correctly, the P0128 may be an intermittent sensor glitch or a PCM software issue. For 2018-2019 models, ensure Recall 19V497000 (PCM software) has been performed, though it primarily targets stalling.
Monitor live ECT data from a cold start. Does the temperature rise slowly and drop significantly when driving at highway speeds?
With the engine cold and A/C OFF, is the radiator cooling fan running?
→ The thermostat is stuck open in the 'fail-safe' position. Replace the engine coolant thermostat and gasket ($25-$40). Refill with Mazda FL22 coolant to prevent corrosion of the Skyactiv-G cooling passages.
→ Diagnose the cooling fan relay or fan control circuit. A fan that runs constantly will over-cool the engine, preventing it from reaching the target temperature required by the PCM, triggering P0128.
→ If the engine reaches operating temperature correctly, the P0128 may be an intermittent sensor glitch or a PCM software issue. For 2018-2019 models, ensure Recall 19V497000 (PCM software) has been performed, though it primarily targets stalling.
→ Top off with Mazda FL22 coolant and bleed the system. Air pockets near the sensor can cause P0128. If the code returns, inspect for leaks, specifically around the hydraulic serpentine belt tensioner which is a known failure point on this engine.
→ The Engine Coolant Temperature (ECT) sensor or its wiring is likely faulty. Compare the scanner's ECT reading to ambient temperature after a cold soak; if it reads -40°F or maximum heat immediately, replace the ECT sensor ($50-$65 OEM).

Other Known Issues on This Vehicle

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

  • Infotainment 'Ghost Touch' or Delamination 🟠 Medium — Very common, especially on 2016+ models. Often worsens in heat. The screen registers phantom touches, making the system unusable. (Ref: No recall, but widely documented. A common DIY fix is to disconnect the touchscreen ribbon cable, forcing reliance on the commander knob.)
  • Intake Valve Carbon Buildup 🟠 Medium — Inherent to all Skyactiv direct injection (GDI) engines. Can cause misfires (e.g., P0302) and rough idle, typically becoming noticeable after 50,000-60,000 miles. (Ref: No recall. Requires periodic cleaning (walnut blasting or chemical cleaning) for long-term performance.)
  • Leaking Hydraulic Serpentine Belt Tensioner 🟡 Low — Extremely common. The hydraulic tensioner weeps or leaks fluid, which can be seen as a black residue on and around the tensioner body. Often noted during routine service. (Ref: No recall, but it is a known pattern failure. Failure can eventually lead to belt noise or the belt coming off.)
  • PCM Software Error Causing Stall (2018-2019) 🔴 High — Affects specific 2018-2019 models. A software error in the Powertrain Control Module (PCM) could cause the engine to stall unexpectedly. (Ref: Recall 19V497000.)

Used vs. New Parts: Buying Guide for This Vehicle

When a used part is the smart pick: For this repair, using used parts is generally not recommended. The primary failure part, the thermostat, is a low-cost wear item. The risk of a used thermostat failing shortly after installation is high, and the labor involved outweighs the small cost savings.

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

What to inspect on the donor part:

  • If forced to use a used part (e.g., entire housing is needed), source from a low-mileage, late-model vehicle that was clearly not in a frontal collision.
  • For a used ECT sensor, inspect the connector pins for any signs of green or white corrosion.

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

  • Engine Coolant Thermostat: While some aftermarket brands are reliable (Aisin, Gates), the OEM Mazda part has the highest probability of long-term success. Given the relatively low cost and the frequency of issues with cheap aftermarket alternatives, OEM is the safest choice.

Aftermarket brands forum-validated for this vehicle:

  • Aisin (often the OEM supplier)
  • Gates
  • Denso (for ECT sensor)

Brands owners have reported issues with on this vehicle:

  • Unnamed 'white box' or store-brand thermostats have a higher reported failure rate and may not regulate temperature as precisely as the OEM unit, potentially causing the code to return.

Real Owner Stories

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

2018-2021 Mazda 6 2.5L

Symptoms: The temperature gauge on the dashboard stays low or fluctuates, especially dropping while driving at highway speeds.

What fixed it: Replacement of the engine coolant thermostat and gasket, potentially covered under Mazda's SSPD8 warranty extension.

Source hint: TSB 01-001/26 (and its revisions)

Mazda 6 (Generation 3)

Symptoms: The temperature gauge was not reaching the middle, confirming the engine was running too cold.

What fixed it: Thermostat replacement.

Source hint: Reddit r/MechanicAdvice - P0128 thread

2018-2021 Mazda 6 2.5L

Symptoms: The blue low coolant temperature indicator light stays on longer than usual or comes on while driving.

What fixed it: Replacement of the fail-safe thermostat under Warranty Extension Program SSPD8.

Source hint: Warranty Extension Program SSPD8

2014-2021 Mazda 6 2.5L Skyactiv-G — 58000 miles

Symptoms: Engine misfire and rough idle.

What fixed it: Intake valve cleaning to remove carbon buildup, a known issue for the Skyactiv-G direct injection engine.

Source hint: Reddit r/mazda - Skyactiv 2.5L Intake Valve Cleaning

Frequently Asked Questions

Is there a warranty extension for the thermostat on my 2018 Mazda 6?
Yes, Mazda issued Warranty Extension Program SSPD8 for 2018-2021 Mazda 6 models with the 2.5L non-turbo engine. It extends coverage for the fail-safe thermostat to 15 years or 150,000 miles.
My Mazda 6 is throwing P0128, but I heard there is a TSB for P0126. Are they related?
Yes. TSB 01-001/26 covers P0126 caused by a stuck-open thermostat. Because the root cause (a fail-safe thermostat stuck open) is identical to what triggers P0128, owners should contact a dealer to see if SSPD8 coverage applies to their P0128 code.
What type of coolant should I use to top off my 2014-2021 Mazda 6?
You should use Mazda's specified FL22 type coolant.
Why does my blue low coolant temperature light stay on so long on my Mazda 6?
This is a common symptom of a thermostat stuck in the open position, which prevents the engine from reaching operating temperature efficiently.
How much does an OEM thermostat cost for the 2.5L Skyactiv-G engine?
An OEM thermostat typically costs between $25 and $40.
Can a faulty ECT sensor cause P0128 on my Mazda 6?
While less common than a stuck thermostat, a faulty Engine Coolant Temperature (ECT) sensor can cause irrational readings (like -40°F) or false 'high engine temp' warnings, triggering the code.
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
2014 and up Mazda 2.5 sky active thermostat replacement
2014 and up Mazda 2.5 sky active thermostat replacement
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
How to Replace Engine Coolant Temperature Sender 2014-2021 Mazda 6
How to Replace Engine Coolant Temperature Sender 2014-2021 Mazda 6
Mazda 6 GJ Coolant replacement / Cooling System Bleeding - The Right Way
Mazda 6 GJ Coolant replacement / Cooling System Bleeding - The Right Way
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 Jul 21, 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 6: 20142015201620172018201920202021
In this article
🎬 Helpful Videos
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