P0128 — Coolant thermostat below regulating temperature

The engine isn’t warming up to the temperature the thermostat should allow — often a thermostat stuck open.

Last updated: Oct 26, 2026 (America/Los_Angeles)

What it means in plain English

P0128 means coolant temperature isn’t reaching the expected closed-loop range in time. A thermostat stuck open is the usual story; a bad coolant temperature sensor or low coolant can also contribute. You might notice weak heat from the vents.

Common causes

What you can safely check

Pull the code yourself (disclosed)

BlueDriver is a BlueDriver/Levanta affiliate link. We may earn from qualifying purchases. See our affiliate disclosure. Shop directory listings are never affiliate links.

A reusable Bluetooth OBD-II scanner lets you read the code and freeze-frame data before authorizing “mystery” diagnostics. One option: BlueDriver Bluetooth Pro OBD-II scan tool (BlueDriver/Levanta affiliate). Any capable OBD-II reader is fine — this is not required to use Fair Auto Shops.

When to go to a shop

Persistent P0128 deserves cooling-system diagnosis. Replacing a thermostat often includes coolant and bleeding air; ask what’s included — read the estimate.

Typical related repair costs (U.S. national averages)

These are related repairs shops may find after diagnosis — not a guaranteed bill for every P0128. Ranges exclude taxes, fees, diagnostics, and your location.

Related cost guides: Water Pump · Thermostat

Questions to ask before you authorize work

Use questions before you authorize a repair and how to read a repair estimate. Watch for patterns in spotting upselling.

Find an honest independent shop

Greater LA · NYC · Chicago · Houston · Phoenix · Seattle · Denver · Dallas · Atlanta · DC

Shop listings are never affiliate links.

FAQ

Can I drive with P0128?

Usually yes for a short time if the gauge isn’t overheating, but running too cool hurts efficiency and can affect other monitors. Fix before emissions tests when possible.

More check-engine codes

P0420 · P0430 · P0300 · P0301 · P0171 · P0174 · P0455 · P0456 · P0442 · P0446 · P0401 · P0133 · P0113 · P0506 · P0507 · P0700 · P0741 · P0011 · P0325 · P0340 · P0335 · P0101 · P0299 · P0135 · P0440 · P0441 · P0010 · P0500 · P0121

Hub: How to read a check-engine code · Repair cost guides · Affiliate disclosure