P0125
- Powertrain
- Generic (SAE)
- Emissions
Diagnose soon
Nothing is in danger of failing suddenly. But the engine never leaves open-loop enrichment, so fuel economy drops noticeably, emissions rise, and the readiness monitors that need closed-loop operation will not complete — meaning a guaranteed emissions test failure. Running permanently cold also increases cylinder wear and dilutes engine oil with unburned fuel over time. It becomes more serious if the cause is low coolant, since that means a leak and a path toward overheating rather than under-heating.
- Safe to drive
- Generally safe to drive once you have confirmed, on a cold engine, that coolant level is correct and the temperature gauge behaves normally. Expect weak cabin heat and worse fuel economy, and repair before an emissions test or winter. If coolant is low, or the gauge climbs or swings, stop driving and find the leak first — the same code can be caused by coolant loss that ends in an overheat.
Insufficient Coolant Temperature for Closed Loop Fuel Control
The engine has been running long enough that it should have warmed up and switched to normal closed-loop fuel control, but the coolant temperature never got high enough. A frequent reason is a thermostat stuck open, letting coolant circulate before the engine is ready.
The PCM will not enter closed-loop fuel control until coolant temperature reaches a calibrated enable threshold. It models expected warm-up from starting temperature, run time, engine load and accumulated airflow. P0125 sets when that modeled time elapses and coolant temperature is still below the threshold. The fault is either that the engine genuinely is not warming — a thermostat stuck open, over-cooling, low coolant — or that the sensor is under-reporting a temperature the engine has actually reached. This code is about closed-loop enable specifically, which distinguishes it from P0128, the more general below-regulating-temperature code.
How the car detected itAfter startup, the PCM integrates run time and airflow to predict when coolant should cross the closed-loop threshold. If the threshold is not reached within that window, the code sets. Most strategies exclude very low ambient temperatures and extended idling, since either can legitimately slow warm-up, but a code that sets repeatedly in mild weather is a real fault.
A trouble code records what a control module measured. It does not identify which part failed. Test before replacing anything.
- Safe to drive
- Generally safe to drive once you have confirmed, on a cold engine, that coolant level is correct and the temperature gauge behaves normally. Expect weak cabin heat and worse fuel economy, and repair before an emissions test or winter. If coolant is low, or the gauge climbs or swings, stop driving and find the leak first — the same code can be caused by coolant loss that ends in an overheat.
- Urgency
- Diagnose soon
- Will it pass emissions
- No
- If ignored
- Fuel consumption stays elevated and cabin heat stays weak, which matters in cold climates. Readiness monitors will not set, so the vehicle cannot pass an emissions inspection. Over the long term, an engine that never reaches operating temperature accumulates fuel in the oil and wears cylinder bores faster. If the underlying cause is low coolant rather than a thermostat, the situation can flip to overheating.
- Check engine light
- Solid
- Clearing the light
- A completed drive cycle is normally required before the monitor re-runs and the light can clear.
These are the causes this code can have. For the order to work through them in, see what to check first.
| # | Cause | How often | Component |
|---|---|---|---|
| 1 | Thermostat stuck open | Very common | — |
| 2 | Coolant temp sensor reading low | Common | — |
Ordering reflects how often each cause is responsible in general, not a probability for your vehicle. Confirm by testing.
In order. Each of these is cheaper or faster than what follows it, and each one can make the rest unnecessary.
Coolant level, checked only on a cold engine
Low coolant slows warm-up and can leave the sensor reading air rather than liquid. It is also the one cause that could turn into an overheat, so settle it before driving further. Never open a hot cooling system — it is pressurized above boiling and will spray scalding coolant.
How much heat comes out of the cabin vents once warm
Weak heat that never gets properly hot is the classic sign of a thermostat stuck open. Strong heat with the code set shifts suspicion toward the sensor instead.
Actual coolant temperature on a scan tool after twenty minutes of driving
Read the real value if you can. Most modern gauges are buffered to sit centered across a wide band of actual temperature, so a normal-looking needle does not rule out an engine running below the closed-loop threshold — which is exactly what this code reports. A needle that sits visibly low, or takes far longer than usual to rise, is meaningful; a normal-looking one proves nothing.
Whether the cooling fans are running constantly
Fans stuck on strip heat out of the radiator faster than the engine can make it. This produces the code with a perfectly good thermostat, and the fix is a relay or fan control repair instead.
Whether a thermostat was recently replaced
A thermostat with the wrong temperature rating, or one installed backwards or without its jiggle valve positioned correctly, reproduces this fault straight out of the shop.
Read freeze frame and any companion codes
Tools Scan tool with freeze frame
Note the ambient temperature, run time, and coolant temperature at the moment the code set. Also look for P0116, P0128 or coolant sensor circuit codes stored alongside it, which change the priority of what you test first.
ExpectedFreeze frame showing normal run time with coolant temperature well short of the closed-loop threshold, in mild ambient conditions
Time a full warm-up while logging coolant temperature
Tools Scan tool with data logging
From a cold start, log coolant temperature through idle and then driving. Note the time to reach a stable plateau and what that plateau value is. Most engines reach normal operating temperature within roughly ten to fifteen minutes of driving; a plateau well below normal or no plateau at all is the finding.
ExpectedA steady climb to a normal operating plateau within roughly ten to fifteen minutes, then a stable temperature
Check whether the engine entered closed loop
Tools Scan tool
Watch the fuel system status parameter through the warm-up. If it never leaves open loop, confirm whether coolant temperature actually crossed the threshold. This separates a sensor problem from a real warm-up problem.
ExpectedFuel system status switching to closed loop once operating temperature is reached
Test the thermostat with an infrared thermometer
Tools Infrared thermometer
From cold, measure the upper radiator hose temperature at intervals during warm-up. A working thermostat keeps the hose relatively cool until it opens, then the hose heats quickly. A hose that warms steadily from the first minutes means coolant is circulating through the radiator the whole time, which is a thermostat stuck open.
ExpectedA distinct step change in hose temperature when the thermostat opens, not a gradual rise from cold
Cross-check the coolant sensor against a physical measurement
Tools Infrared thermometer, scan tool
With the engine warm, compare the scan tool coolant reading against an infrared reading taken on bare metal at the thermostat housing. A large offset means the sensor is under-reporting and the engine may actually be at correct temperature.
ExpectedScan tool and physical readings reasonably close to each other
Verify cooling fan behavior
Tools Scan tool, visual inspection
With a cold engine and the A/C off, confirm the fans are not running. Then confirm they switch on at the expected temperature and switch off again. Fans stuck on, whether from a welded relay, a failed control module or a wiring fault, over-cool the engine continuously.
ExpectedFans off on a cold engine with A/C off, cycling on and off correctly once warm
Inspect the thermostat physically if it remains the suspect
Tools Hand tools, pot of water, thermometer
Remove the thermostat and check that it is closed at room temperature. Heat it in water while measuring temperature and confirm it opens at its rated value. Verify the rating stamped on it matches what the vehicle calls for — the correct rating is vehicle-specific.
ExpectedFully closed when cold, opening at its stamped rating, with the correct rating for this vehicle
Confirm the repair with a cold-start drive cycle and monitor check
Tools Scan tool
After the repair, let the vehicle cool fully, then drive a complete warm-up cycle. Confirm coolant reaches and holds normal operating temperature, the system enters closed loop, and the readiness monitors begin to set.
ExpectedNormal operating temperature reached, closed loop entered, no return of the code, and monitors progressing toward complete
| Repair | Only after you confirm | Typical cost | Who |
|---|---|---|---|
| Replace the thermostat with one of the correct temperature rating | An upper radiator hose that warms gradually from cold start rather than stepping up, or a thermostat found open at room temperature during a bench test | $190–$650 | DIY |
| Replace the engine coolant temperature sensor | A persistent offset between the scan tool reading and an infrared measurement at the thermostat housing, with the engine actually reaching normal temperature | $90–$280 | DIY |
| Correct coolant level and bleed the cooling system | Low coolant or trapped air found, with warm-up time returning to normal once refilled and bled | $90–$300 | DIY |
| Repair a cooling fan circuit that runs continuously | Fans running with a cold engine and A/C off, traced to a stuck relay or fan control fault, with the engine warming normally after repair | $150–$650 | DIY |
| Repair the cooling system leak causing the low coolant level | A leak located by pressure test or dye, with the level holding afterward | $150–$1,200 | DIY |
| Repair coolant sensor wiring or ground circuit resistance | Measurable voltage drop on the ground path or high resistance in the signal circuit that resolves when repaired | $110–$400 | DIY |
Thermostat cost varies more than most people expect. A standalone thermostat in an accessible housing is a modest job; on many modern engines it comes only as a sealed housing assembly with the sensor and hose ports built in, and may sit under the intake or behind the timing cover. Always confirm which design the vehicle uses before comparing quotes.
- Replacing the coolant temperature sensor first. The thermostat is a more common cause of this specific code, and it is easy to distinguish with an infrared thermometer before spending anything.
- Checking coolant level on a hot engine. The system is pressurized above boiling and will spray scalding coolant when opened.
- Trusting the dash temperature gauge to rule out a cold-running engine. Most modern gauges are damped to read centered across a wide band, so they hide exactly the condition this code reports — read the scan tool value.
- Installing a thermostat with the wrong temperature rating, or installing it backwards, which reproduces the fault immediately.
- Blaming the thermostat during a genuine deep cold snap with lots of idling. Extended idling in extreme cold can slow warm-up legitimately — look for the code repeating in mild weather before condemning parts.
- Missing cooling fans that run continuously. The thermostat can be perfect and the engine still never warms up.
- Clearing the code and expecting monitors to be ready immediately. Closed-loop-dependent monitors need a full drive cycle after the repair before an emissions test will pass.
- Thermostat
- Coolant Temperature Sensor
- Definition
- Generic code set (SAE J2012 / ISO 15031-6) via the OBDexopen database, dedicated to the public domain under CC0-1.0.
- Diagnostic guidance
- Written and reviewed in-house. See our editorial policy.
- Review status
- Reviewed
Found something wrong? Tell us — we publish corrections.