P0128 on a Subaru: Causes, Fixes & Repair Cost
๐ Moderate severity ยท drivable
Safe to drive if the coolant level is okay, but the engine running cool hurts fuel economy and heater output, so plan the repair soon.
What P0128 means on a Subaru
On a Subaru, P0128 means the engine computer has detected that the engine isn't reaching its normal operating temperature in the expected time. As with most cars, a thermostat stuck open is the main cause, and low coolant from a leak can do it too.
Is P0128 common on Subarus?
P0128 turns up on Subarus like the Outback, Forester, Impreza, and Legacy, usually at higher mileage. Subaru cooling systems can develop small leaks over time, so it's worth checking the coolant level before replacing parts.
Commonly reported on: Outback, Forester, Impreza, Legacy.
Symptoms
- Check engine light is on
- Temperature gauge reads below normal
- Heater blows lukewarm air
- Coolant level drops slowly
Common causes
- most common: Thermostat stuck open
- common: Low coolant from a leak
- common: Leaking radiator hose or water pump
- less common: Faulty coolant temperature sensor
How to fix it
| Fix | DIY? | Typical cost |
|---|---|---|
| Top up the coolant and inspect hoses for leaks | Yes | $10โ30 |
| Replace the thermostat | Yes | $50โ150 |
| Replace a leaking coolant hose | Yes | $30โ90 |
Frequently asked questions
Other common Subaru codes
P0128 on other brands
Looking for the full (non-brand-specific) guide? See the P0128 code page โ
Browse all Subaru codes: Subaru hub โ
Updated 2026-08. This page is informational and not a substitute for professional diagnosis.