P0128 on a BMW: Causes, Fixes & Repair Cost
๐ Moderate severity ยท drivable
Safe to drive if the coolant level is full, but check for leaks soon since low coolant can lead to bigger cooling system problems.
What P0128 means on a BMW
On a BMW, P0128 means the engine computer has detected that the engine isn't reaching its normal operating temperature in the expected time. Many BMWs use an electronically controlled thermostat, and this part is a known wear item, so it's usually the first suspect.
Is P0128 common on BMWs?
P0128 appears on BMWs like the 3 Series, 5 Series, X3, and X5, often alongside the coolant leaks that BMW cooling systems are known for. Low coolant from a leaking hose, expansion tank, or water pump can also keep the engine from warming up.
Commonly reported on: 3 Series, 5 Series, X3, X5.
Symptoms
- Check engine light is on
- Temperature gauge reads low
- Heater blows lukewarm air
- Coolant level drops over time
Common causes
- most common: Electronic thermostat failing
- common: Low coolant from a cooling system leak
- common: Leaking expansion tank or hose
- less common: Coolant temperature sensor reading wrong
How to fix it
| Fix | DIY? | Typical cost |
|---|---|---|
| Check and top up the coolant, and inspect hoses and the expansion tank for leaks | Yes | $15โ50 |
| Replace the thermostat | Mechanic | $200โ400 |
| Replace the thermostat and water pump together | Mechanic | $500โ900 |
Frequently asked questions
Other common BMW codes
P0128 on other brands
Looking for the full (non-brand-specific) guide? See the P0128 code page โ
Browse all BMW codes: BMW hub โ
Updated 2026-08. This page is informational and not a substitute for professional diagnosis.