Rick's Free Auto Repair Advice

How to Diagnose and Fix a P0128 Trouble Code

Why Your Car Has a P0128 Trouble Code — What It Means and How to Fix It

Quick Summary
A P0128 code means your engine isn’t heating up to an expected temperature within a predetermined time based on the cold start temperature, the engine RPMs, vehicle speed, and acceleration. In most cases, the cause is a faulty thermostat that is sticking partially open or opening too quickly. It is rarely due to a faulty engine coolant temperature sensor. However, a failing coolant temperature sensor, low coolant, or a cooling fan running too early can also cause it. Fixing a P0128 trouble code improves performance, fuel economy, reduces engine wear, and prevents carbon buildup.

Article

As an automotive diagnostics expert, I regularly see questions about the P0128 trouble code. The code indicates that the ECM is detecting an engine warm-up time that doesn’t match expectations. This condition can be caused by a faulty thermostat that is sticking, opening too quickly, or is stuck open. It can also be caused by a faulty engine coolant temperature sensor (rare), a low coolant level (easy to check), or a radiator cooling fan running when it shouldn’t.

Why the ECM cares about warm-up time and how it knows if it isn’t warming up fast enough.

The ECM wants your engine to warm up as quickly as possible to maintain the lowest possible emissions and the best MPG.  When you start your engine, the ECM looks at the following data:

• The outside air temperature: From the intake air temperature sensor.
• The Engine Temperature: From reading the rate-of-rise of the Engine Coolant Temperature Sensor
• The Engine RPM: It knows this by reading data from the crank and cam sensors.

Top 5 Causes of a P0128 Trouble Code

Here’s the order I see them in the real world:
1) A sticking or stuck-open thermostat that allows cold coolant to circulate through the engine before it’s reached full operating temperature (90%+ of P0128 codes). A thermostat must stay shut long enough to heat the engine efficiently — when it fails, coolant flows too early, keeping the engine cold.
2) Faulty Engine Coolant Temperature (ECT) sensor
3) Low coolant level due to leaks
4) Cooling fan stuck ON, cooling the engine prematurely
5) Wiring faults causing incorrect temperature readings
The Possible Causes of a P0128 Code

How to Diagnose and Fix a P0128 Code

Step 1: Check Scan Tool Freeze Frame Data — Review the data to see what was going on when the code set.

Step 2: Check the Coolant Level — Before diving into part replacements, I always check the coolant level to eliminate it as a cause. If it’s low, I inspect the system for leaks. A leaking radiator, hose, or water pump could be the real cause of the P0128 code.

Step 3: Inspect the Thermostat — I usually replace the thermostat rather than test it because it’s an inexpensive part and is the cause of a P0128 in over 90% of the cases.

This image shows a typical pellet thermostat which is the most common cause of a P0128 code

Engine Thermostat

A properly functioning thermostat should remain closed until the engine reaches the right temperature.

How to test a thermostat

Consult the shop manual to see what temperature the ECM expects and in what time period. Then, using a non-contact infrared thermometer, measure the temperature rise at the thermostat housing to confirm the coolant temperature is within the expected range.

If the thermostat doesn’t meet specs, replace it with an OE or STANT brand thermostat. I’m not a fan of Fail-safe Murry thermostats.

Click here to learn more about engine thermostats and how they work

Step 4: Test the Coolant Temperature Sensor — Compare the readings from the infrared thermometer to the ECT sensor reading

This image shows a coolant temperature sensor

Use your scan tool to check the engine coolant temperature sensor

on your scan tool to see if they correlate. If the sensor is giving unusually low readings, even when the engine feels warm, I replace it.
Step 5: Inspect the Cooling Fan Operation — If the fan is running constantly—even when the engine is cold—it could be overcooling the engine. I test the cooling fan relay and control circuit to ensure it doesn’t activate too soon.
Step 6: Check for Wiring or ECM Issues — If none of the above fixes resolve the P0128 code, I will inspect the wiring harness connected to the coolant temperature sensor. Damaged wiring or a bad ground can cause inaccurate temperature readings.

Key Takeaways From This Article

A faulty thermostat is the most common cause of a P0128 code.
But check the coolant level first before replacing any parts.
Then check the radiator cooling fans to make sure they’re not running at cold startup.

© 2012 Rick Muscoplat

Posted on by Rick Muscoplat



Custom Wordpress Website created by Wizzy Wig Web Design, Minneapolis MN
Ricks Free Auto Repair Advice