🟡 Monitor

P0128 BMW — Coolant Thermostat Below Temperature

One of the most common cooling system codes on BMWs, often misdiagnosed as a sensor fault. What P0128 actually means, the causes ranked by likelihood, what it costs to fix in the UK, and why a stuck thermostat is more common than a faulty sensor.

A diagnostic scan tool displaying fault code P0128 connected to a BMW engine
💷
£150–£600
Typical Fix
Cost Range
🔍
4
Causes, Ranked
Cheapest First
🔧
20+
Vetted BMW
Specialists
🏆
Part of
Engine Finders
Network

P0128 indicates the engine coolant temperature has not reached the thermostat's regulating temperature within a specified time. On most BMWs this is a cooling system issue – typically a stuck-open thermostat – and it should be diagnosed cheapest-first.

Do not replace the thermostat without checking the coolant level and sensor data first. Full diagnostic order below.

What P0128 Actually Means on a BMW

The engine control unit (DME) monitors coolant temperature to manage fuel delivery, ignition timing, and emissions. When the engine is cold, the DME expects the coolant to reach a specific temperature (typically around 80–90°C) within a certain time after startup. P0128 is logged when the temperature stays below the thermostat's regulating temperature for too long. This is a rationality code – the DME compares the actual temperature to what it expects based on operating conditions. The most common cause is a thermostat that is stuck open, allowing coolant to flow continuously and preventing the engine from warming up properly. However, a faulty coolant temperature sensor, low coolant level, or even a wiring issue can also trigger the code. This code appears across the full range of BMW petrol and diesel engines, from the N47 to the B58, and the diagnostic approach is similar regardless of engine type.

Symptoms You'll Notice Alongside It

Common Causes, Ranked

Ordered by how often each turns out to be the real culprit on BMWs – with typical fitted cost against each, so you can sanity-check any quote you've been given.

CauseLikelihoodTypical Cost (fitted)Notes
Thermostat stuck openVery High£150–£300Most common – the thermostat fails in the open position
Low coolant levelHigh£20–£50 (top-up) / £100–£200 (if leak)Check for leaks first – cheapest possible fix
Failing coolant temperature sensorMedium£100–£200Sensor may read lower than actual temperature
Wiring / connector corrosionMedium£150–£400Intermittent or high-resistance connections
ECU / DME software issueLow£200–£600Rare – usually after programming or in older modules

Cost figures [PATTERN DATA] – indicative independent-specialist pricing, not drawn from our engine replacement dataset.

Diagnostic Order — Cheapest First

1

Check coolant level and for leaks

Top up the coolant if low. Inspect for visible leaks – a simple top-up can resolve the code if low coolant is the issue.

2

Read live data – temperature sensor

Using a diagnostic tool, compare the coolant temperature reading with engine running time. If the sensor reads unrealistically low, suspect the sensor.

3

Test thermostat operation

Monitor temperature rise from cold start. A properly functioning thermostat should reach 80–90°C within 10–15 minutes of driving. If temperature stays low, the thermostat is likely stuck open.

4

Inspect wiring and connector

Check the sensor and thermostat connector for corrosion or damaged wires.

5

Only then consider ECU/software

If all physical checks are fine and the code persists, the DME software or internal driver may be at fault – rare but possible.

Not sure where to start?

Our diagnostic wizard walks the same order, or confirm your engine with the registration lookup.

Can You Still Drive It?

Yes – but with caution and not indefinitely. P0128 on its own is not an immediate engine-destroying fault. The car will run, but the engine may run rich, increasing fuel consumption and potentially harming the catalytic converter over time. The heater may not work effectively. You can drive to a garage, but avoid long journeys or heavy loads until the issue is diagnosed. Prolonged cold running can also increase wear on engine components due to improper oil temperature.

Frequently Asked Questions

Can I drive with P0128 on a BMW?

Yes, for short journeys to a garage. It is not an immediate emergency, but prolonged driving with a stuck thermostat can increase fuel consumption and emissions. The engine may also take longer to reach optimal operating temperature, which increases wear.

Does P0128 always mean the thermostat has failed?

No – while a stuck-open thermostat is the most common cause, low coolant, a faulty sensor, or wiring issues can also trigger the code. Always diagnose cheapest-first.

Will clearing the code fix it?

Only temporarily. The code will return when the DME detects the same temperature discrepancy again, usually within a few drive cycles. Clearing it also removes freeze‑frame data that helps pinpoint the cause.

How much should diagnosis cost?

Expect one to two hours of diagnostic time at an independent BMW specialist. Many will offset that cost against the repair if you proceed with them.

Is P0128 more common on diesel or petrol BMWs?

It appears on both, but diesel engines take longer to warm up, so they are slightly more prone to this code if the thermostat is failing. However, the diagnostic approach is the same.

Cheapest-First AlwaysWe rank causes by likelihood and cost, not by what's profitable to quote.

Honest About CostWhere a fault is usually cheap to fix, we say so plainly.

20+ Vetted BMW SpecialistsDiagnostics carried out by people who work on these daily.

100% IndependentNo sponsors, no manufacturer influence.

Get P0128 Diagnosed Properly

Compare diagnostic and repair quotes from our vetted specialist network.

COMPARE QUOTES NOW → RUN THE DIAGNOSTIC WIZARD