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 2010-2013 Mazda 3 2.5L: Causes and Fixes for a Cool-Running Engine

On a 2010-2013 Mazda 3 with the 2.5L engine, code P0128 is almost always caused by a thermostat that is stuck open. The fix is to replace the entire thermostat and housing assembly. Expect to pay around $40-$90 for an aftermarket part or $100-$150 for an OEM part, with a DIY difficulty of 2/5.

18 minutes to read 2010-2013 Mazda 3
Most Likely Cause
Stuck-Open Thermostat
Difficulty
2/5
Est. Time
1.5 hrs
DIY Doable?
✅ Yes
Shop Labor
$180 – $400
Parts Price
$40 – $150
⚠️ Drivable, but... — Yes, you can drive the vehicle, but it should be repaired soon. Consistently running the engine too cool leads to poor fuel economy, increased emissions, and can cause accelerated wear on internal engine components over time due to improper oil viscosity and condensation buildup. Driving with a thermostat stuck open is far less risky than one stuck closed (which causes rapid overheating), but it should still be addressed to maintain engine health and efficiency.
Key Takeaways
  • For a 2010-2013 Mazda 3 2.5L, P0128 means you almost certainly need a new thermostat.
  • Do not confuse this with the 2.0L engine's issue, which may only require a software update.
  • The correct part is the complete thermostat and housing assembly (OEM part #L336-15-170).
  • This is a DIY-friendly repair with a difficulty of 2/5; the main tasks are draining and refilling coolant.
  • Always use Mazda FL22 or a compatible Asian vehicle P-HOAT coolant when refilling the system.
The trouble code P0128, officially "Coolant Temperature Below Thermostat Regulating Temperature," indicates that your vehicle's engine is not reaching its required minimum operating temperature within a specific amount of time after being started. The Powertrain Control Module (PCM), or engine computer, monitors the Engine Coolant Temperature (ECT) sensor from a cold start. It compares the rate of temperature increase against a pre-programmed map, factoring in data like ambient air temperature. If the engine warms up too slowly or fails to stay warm (typically around 180-200°F), the PCM triggers the Check Engine Light with this code. Essentially, the computer thinks the engine is running too cool for too long, which can negatively impact fuel efficiency and emissions.

What's Unique About the 2010-2013 Mazda 3

For the second-generation Mazda 3, it's crucial to distinguish between the 2.0L and 2.5L engines. While both can show a P0128 code, the 2.0L engine is subject to a Technical Service Bulletin (TSB #01-021-13-2817B) for faulty computer logic, where a software update is the fix. However, for the 2.5L L5-VE engine, this TSB does not apply; the cause is overwhelmingly a mechanical failure of the thermostat sticking in the open position. Owners of the 2.5L model should focus their diagnosis on the thermostat itself rather than pursuing a software update.

Symptoms You May Notice

  • Check Engine Light is illuminated with code P0128 (and sometimes P0126).
  • Engine takes much longer than usual to warm up, especially in cold weather.
  • Temperature gauge on the dashboard drops toward 'C' or below the middle mark when driving at highway speeds, then may rise again in traffic.
  • Heater blows lukewarm air instead of hot, as the heater core relies on hot engine coolant.
  • Noticeable decrease in fuel economy due to the engine running in an inefficient, open-loop state for too long.
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing only the ECT sensor. While the sensor reports the temperature, it's usually reporting the truth: the engine is actually running too cool because of a stuck thermostat.
  • Requesting a PCM reflash. This is the correct fix for many 2.0L engines with this code under TSB 01-021/13, but it is not the standard solution for the 2.5L engine, which points to a mechanical fault.

Most Likely Causes

  1. Stuck-Open Thermostat 🔴 High Probability This is the most common mechanical failure for this code on the 2.5L engine. The thermostat is designed to fail in the open position as a failsafe against overheating. The entire plastic housing and thermostat are replaced as one unit.
    How to confirm: After starting the engine cold, feel the large radiator hose that connects to the thermostat housing. It should stay cool for several minutes. If it starts to warm up immediately and gradually, the thermostat is stuck open, allowing coolant to circulate prematurely. A more precise method is to use an OBD-II scanner with live data capability to monitor the Engine Coolant Temperature (ECT) sensor reading. The temperature should rise steadily and then plateau briefly as the thermostat opens (typically around 180-195°F). If the temperature rises very slowly or drops on the highway, the thermostat is likely stuck open.
    Typical fix: Replace the entire thermostat and housing assembly. Drain the coolant, remove the three 8mm bolts holding the housing, swap the part, and refill the system 🎬 See this walkthrough for changing the thermostat assembly. with the correct coolant.
    Est. part cost: $40-$150
  2. Low Engine Coolant 🟡 Medium Probability The plastic thermostat housing itself can become brittle over time and develop hairline cracks, leading to slow coolant leaks. An air pocket in the system caused by a leak can prevent the coolant temperature sensor from getting an accurate reading, potentially triggering a P0128 code.
    How to confirm: Check the coolant level in the overflow reservoir when the engine is cold. Look for signs of leaks (puddles of green/blue fluid under the car, or white/colored crusty residue) around the thermostat housing, water pump, and hose connections.
    Typical fix: Find and repair the source of the leak, which is often the thermostat housing itself. If the housing is cracked, it must be replaced. Top off or refill the cooling system with Mazda FL22 coolant and properly bleed any air out of the system. 🎬 Watch: Complete guide to replacing the thermostat and coolant.
    Est. part cost: $0-$20 (for coolant)

Rare But Worth Checking

  • Faulty Engine Coolant Temperature (ECT) Sensor: While possible, a faulty ECT sensor is more likely to trigger other codes related to sensor circuit performance (e.g., P0117, P0118). If P0128 is the only code present, the sensor is less likely to be the root cause than the thermostat. An ECT sensor providing inaccurate (but still plausible) readings can be a tricky diagnosis.

Diagnosis Steps

  1. Check for other diagnostic trouble codes. If P0128 is the only code (or is paired with P0126), proceed.
  2. Check the engine coolant level in the reservoir (when cold). If low, inspect for leaks, paying close attention to the plastic thermostat housing and connected hoses for cracks or residue.
  3. If the coolant level is correct, perform a thermostat function test. Start the engine from cold.
  4. Use an OBD-II scanner to monitor live data from the Engine Coolant Temperature sensor. Note the temperature.
  5. Carefully feel the upper radiator hose. It should remain cool for the first 5-10 minutes of idling.
  6. Watch the live data as the engine warms up. The temperature should rise steadily to ~180-195°F and then stabilize or drop slightly as the thermostat opens and coolant circulates. If the temperature rises very slowly, never reaches the target, or drops significantly while driving at speed, the thermostat is stuck open.
  7. If the hose warms up gradually from the start, this also confirms the thermostat is stuck open and must be replaced.
  8. If the thermostat appears to be working correctly, you may consider testing the ECT sensor's resistance against a temperature chart, but this is an unlikely cause if it's the only code.

Parts You'll Likely Need

  • Engine Coolant Thermostat with Housing (OEM #L336-15-170) — This is the primary cause of code P0128 on the 2.5L engine. The original part fails by sticking open, and it is replaced as a complete assembly to also prevent leaks from the aging plastic housing.
    Trusted brands: Mazda (OEM), Gates (e.g., TH45182G1), Stant, Motorad (e.g., 512-82K), Mahle (e.g., TI 200 82), Hella (e.g., 8MT 354 777-241)
    OEM price range: $100-$150
    Aftermarket price range: $40-$90
  • Mazda Long Life FL22 Engine Coolant (OEM #0000-77-508E-20) — The cooling system must be drained to replace the thermostat. It's critical to refill with the specified P-HOAT (Phosphate-Hybrid Organic Acid Technology) coolant to prevent corrosion and system damage. FL22 is a pre-mixed, long-life coolant.
    Trusted brands: Mazda (OEM), Pentofrost A3, Beck/Arnley, Zerex Asian Vehicle Formula, Motorcraft Specialty Green Engine Coolant (Concentrate form of FL22)
    OEM price range: $25-$35 per gallon
    Aftermarket price range: $20-$30 per gallon

Related Codes That Often Appear With This One

  • P0126: Insufficient Coolant Temperature for Stable Operation. This code is very similar to P0128 and often appears alongside it, reinforcing the diagnosis of a thermostat or cooling system problem.

Technical Service Bulletins (TSBs) & Recalls

  • TSB #01-021-13-2817B: This TSB for P0128 applies to the 2.0L engine (both standard and SKYACTIV) and some 2012 Mazda5 models due to 'improper control logic of the PCM'. The fix is a software reflash. It explicitly does NOT apply to the 2.5L engine in the Mazda 3, where the cause is mechanical.

Platform-Specific Known Issues

  • The plastic thermostat housing on the 2.0L and 2.5L engines is a known weak point that can become brittle and develop hairline cracks over time, leading to coolant leaks. This is why it is highly recommended to replace the entire assembly, not just the thermostat inside.

Mechanic-Grade Diagnostic Values

  • Engine Coolant Temperature (ECT) Sensor Resistance — expected: Approximately 2000-3000 Ω at 20°C (68°F) and 200-300 Ω at 90°C (194°F).. Failure: Readings significantly outside this range, or an open/short circuit, indicate a faulty sensor.
  • Engine Coolant Temperature (ECT) Sensor Signal Voltage — expected: Approximately 2.0V - 3.0V on a cold engine, dropping to approximately 0.5V when the engine is fully warmed up.. Failure: Voltage that is stuck high or low, or does not change with temperature, points to a sensor or wiring issue.

Scan Tool Commands That Help

  • Mazda IDS (or equivalent professional scanner): Cooling Fan Control / Fan Duty Cycle Command — This bidirectional control is used to diagnose a potential edge-case cause for P0128. A technician can command the cooling fan ON and OFF to verify if the fan control module and the fan itself are functioning correctly. If the fan runs continuously even when commanded OFF, it indicates a faulty module that could be over-cooling the engine.

Wiring & Ground Locations

  • ECT Sensor Signal at PCM — Pin 2AH on the Powertrain Control Module (PCM) connector.. For advanced diagnosis, a technician can test for correct voltage and continuity directly at the PCM. This helps differentiate between a faulty sensor, a wiring problem (open, short, high resistance), or a rare PCM fault without having to guess.
  • Main Engine/Chassis Grounds — Key grounding points include a strap from the engine block/transmission case to the chassis, a point on the driver's side fender/shock tower, and a ground point near the passenger-side headlight assembly.. The ECT sensor relies on a stable ground reference provided by the PCM, which in turn relies on clean engine and chassis grounds. A corroded or loose main ground can introduce electrical noise and voltage offsets, causing the PCM to receive an inaccurate temperature reading from the sensor, potentially contributing to a P0128 code.

Real Owner Repair Stories

  • Reddit r/Cartalk user (2008 Mazda 3 S GT (2.3L L3-VE, same engine family and common issue)) — Check Engine Light with code P0128.
    ❌ Tried (didn't work) Replaced the thermostat with an aftermarket part from O'Reilly's., Replaced the coolant temperature sensor with an aftermarket part.
    ✅ What actually fixed it The user reported the code returned even after replacing both components with aftermarket parts. The implication from the community feedback was that the quality or specific temperature rating of the aftermarket thermostat was likely the cause, and an OEM part was recommended. The thread highlights that simply replacing the part isn't a guaranteed fix if the replacement part's quality is suspect.
  • Car Talk Community user (Vehicle not specified, but general P0128 diagnosis) — Check Engine Light with P0128 returned after a mechanic replaced the thermostat.
    ❌ Tried (didn't work) Thermostat replacement by a mechanic.
    ✅ What actually fixed it The discussion focused on the high probability that the mechanic may have installed a thermostat with the incorrect opening temperature rating. This is a critical detail, as a thermostat that opens too early will behave exactly like a stuck-open one, causing the P0128 code to return. The fix is to ensure the replacement thermostat matches the OEM temperature specification.

When the Usual Fixes Don't Work

  • While replacing the thermostat assembly is the correct fix in over 90% of cases for the 2.5L engine, there are documented instances where this does not resolve the P0128 code. The most common reason for this failure is the use of a low-quality aftermarket thermostat that is either defective out of the box or has an incorrect temperature rating, causing it to open too soon. Before suspecting a more complex issue like a wiring or PCM fault, the first step after a failed thermostat replacement should be to verify the quality and temperature specification of the part that was installed, ideally by comparing it to or replacing it with a genuine OEM unit.

OEM Part Supersession History

  • l32715170, l32715170a, l32715171, l32815170a, l32815170b, lfe215170L336-15-170 — Standard part evolution for design improvements, material changes, or supplier consolidation. The L336-15-170 is the current genuine Mazda replacement part for the thermostat and housing assembly for this application.
    Heads up: While older numbers may be found, using the latest OEM part number (L336-15-170) is recommended to ensure you have the most updated design and prevent potential compatibility issues.

Diagnostic Flowchart

Start by confirming if P0128 is the only code present. On the 2.5L engine, this code is almost always a mechanical failure of the thermostat, unlike the 2.0L which may just need a software update.
→ Diagnose and resolve the other codes first. Electrical or circuit issues can cause false P0128 readings.
With the engine completely cold, check the coolant overflow reservoir. Is the coolant level low?
Inspect the plastic thermostat housing, water pump, and hoses. Do you see puddles of green/blue fluid or crusty residue?
→ The plastic thermostat housing on the 2.5L L5-VE is a known weak point that develops hairline cracks and becomes brittle. Replace the entire housing assembly and refill with Mazda FL22 coolant.
→ Top off the system with Mazda FL22 coolant and properly bleed any air pockets. An air pocket can prevent the ECT sensor from reading accurately. If the code returns, proceed to test the thermostat.
Perform a cold start test. Start the engine from cold and carefully feel the large upper radiator hose connected to the thermostat housing. How does it feel?
→ The thermostat is stuck open (a failsafe design), allowing coolant to circulate prematurely. Drain the coolant, remove the three 8mm bolts, and replace the entire thermostat and housing assembly.
Use an OBD-II scanner with live data to monitor the Engine Coolant Temperature (ECT) while driving. Does the temperature reach 180-195°F and stabilize?
→ The thermostat is stuck open. Note: TSB #01-021-13-2817B for a PCM reflash does NOT apply to the 2.5L engine. You must mechanically replace the thermostat housing assembly.
→ The thermostat appears to be working correctly. Consider testing the ECT sensor's resistance against a temperature chart, though this is an unlikely cause if P0128 is the only code.

Real Owner Stories

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

2008 Mazda 3 2.0L

Symptoms: P0128 code, coolant not getting up to operating temperature. The engine was only heating up to 165°F even after 30 minutes of idling due to worn out springs in the thermostat.

What fixed it: Replaced the thermostat with housing.

Source hint: YouTube comment by NoNonsenseKnowHow on 'MAZDA 3 THERMOSTAT REPLACMENT EASY QUICK 2008 2.0L p0128 p0126 thermastat'

2010 Mazda 3

Symptoms: Check engine light illuminated with code P0126 (a code frequently paired with P0128).

What fixed it: Replaced the thermostat and water pump.

Source hint: YouTube comment by Hayden Schreier on 'HOW TO REPLACE WATER PUMP & THERMOSTAT ON A 2010 MAZDA 3 | P0126'

Second-generation Mazda 3 2.5L

Symptoms: Engine experienced slow warm-up times and the temperature gauge would drop while driving at highway speeds.

What fixed it: Replaced the thermostat and housing assembly.

Source hint: Reddit r/mazda3

2008 Mazda 3

Symptoms: P0128 code persisted even after replacing the thermostat with an aftermarket part.

What fixed it: Advised to replace the aftermarket unit with a quality OEM or equivalent part to resolve the persistent code.

Source hint: Reddit r/Cartalk

Frequently Asked Questions

Does TSB #01-021-13-2817B apply to my 2.5L Mazda 3?
No. That TSB addresses improper PCM control logic and requires a software reflash, but it explicitly only applies to the 2.0L engine (standard and SKYACTIV) and some 2012 Mazda5 models. For the 2.5L L5-VE engine, the cause of P0128 is almost always mechanical, such as a stuck-open thermostat.
Can I just replace the thermostat inside the housing to fix the P0128 code?
No, the entire plastic housing and thermostat are designed to be replaced as one complete unit. The plastic thermostat housing on the 2.5L engine is a known weak point that becomes brittle and develops hairline cracks over time, so replacing the whole assembly prevents future coolant leaks.
What type of coolant should I use when refilling my Mazda 3 after a thermostat replacement?
You should use Mazda FL22 coolant, which is a P-HOAT (Phosphated HOAT) formula. If you cannot find OEM FL22, compatible alternatives include Zerex Asian Vehicle Formula and Pentofrost A3. You should avoid using universal coolants containing 2-EHA.
Why does my temperature gauge drop when I drive on the highway?
This is a classic symptom of a stuck-open thermostat. At highway speeds, increased airflow through the radiator overcools the continuously circulating coolant. Because the thermostat cannot close to restrict flow, the engine temperature drops toward 'C', then may rise again when you slow down in traffic.
Is it okay to use an aftermarket thermostat for this repair?
It is highly recommended to use a quality OEM or equivalent part. Owners of similar Mazda models have reported that using cheap aftermarket thermostats can cause the P0128 code and related temperature issues to persist even after replacement.
Mazda 3 Thermostat and Coolant Replacement
Mazda 3 Thermostat and Coolant Replacement
How To: Change Your Thermostat | Mazda 3
How To: Change Your Thermostat | Mazda 3
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 3: 2010201120122013
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