Skip to main content
OBDwiki
P0128

P0128: the engine is taking too long to warm up

The thermostat is a valve that stays shut while the engine is cold, then opens once it's warm enough, to keep the coolant circulating properly. This code means the engine control unit has watched the coolant temperature over a period of driving and it's staying below the point the thermostat should have reached by then. Unlike a circuit-level code, it's set from the temperature signal over time rather than from a single instant reading.

You might notice

  • The temperature gauge sits lower than normal for longer than expected
  • The cabin heater may take longer to blow warm air
  • Fuel use may creep up
thermostat
— a valve that stays shut until the engine is warm, then opens to let coolant circulate

What the code itself says

P0128 is a powertrain (engine, gearbox and drive system) code, and the 0 after the letter means it is a generic code with a standard meaning.

Grouped here as: Cooling system — Coolant temperature, thermostat, fans and overheating. That grouping is ours, to help explain the code. The code's official family is the letter at the start.

This page is generic. Your car isn't.

A code on its own only tells you what the sensor saw, not what's actually wrong — and that changes next to your other codes. Read this one together with the rest of your scan and we'll work out what's really going on.

Diagnose my car

Stop reading. Start diagnosing.

Two minutes, free, and it'll be about your car rather than every car.

Diagnose my car →