P0128 is one of the codes people find hardest to connect to emissions. It is about temperature, not exhaust, and the car may seem fine apart from a heater that takes longer to get warm. The link is the engine computer: much of what it does to control emissions depends on knowing the engine has reached its normal operating temperature.

At a glance
- The SAE J2012 definition: Coolant temperature below thermostat regulating temperature.
- The computer expects the engine to warm up to a set temperature within a set time.
- Many emission self-checks wait for a fully warm engine, so a cool engine can hold them back.
- With the lamp on, a 1996 or newer light-duty vehicle fails the Nevada OBD test.
A temperature code with an emissions job
SAE J2012, the standard behind generic OBD II codes, words P0128 as: Coolant temperature below thermostat regulating temperature. The thermostat is a valve that keeps coolant inside the engine until it warms up, then opens to hold the engine at its designed temperature. The computer watches the coolant temperature sensor after a cold start, and if the reading has not reached the expected range within the allowed time and driving, it sets P0128.
Why is that an emissions issue? A cold engine runs a richer mixture, and the computer adjusts fuel and runs several of its emission self-checks only once the engine is properly warm. An engine that never quite gets there burns more fuel and gives the computer fewer chances to finish its checks.
Light on means fail
At a Nevada smog check the OBD analyzer reads the engine computer. For a 1996 or newer car or light truck with the check engine lamp lit, the result is a fail, whatever the code. P0128 is no exception, even though the car may run perfectly well.
The not ready angle
This code has a second way to cause trouble. Because some readiness monitors only run on a warm engine, a slow warm-up can leave them unfinished, and a car whose self-checks are incomplete is rejected as not ready. The DMV says a rejection is not a failure and needs no repair of its own; the fix is up to a week of driving under varying conditions, city and highway, before the retest.
Clearing P0128 right before the test makes that worse: it resets every monitor and the DMV treats it as an automatic rejection. The Reno emission lab can check readiness at no cost, without an appointment, if you arrive before 4:30 p.m. Read more on our not ready page.
Common causes a repair shop checks
Xpress Smog Check Center tests vehicles; a repair shop handles the cause. Common causes a repair shop checks include:
- A thermostat that sticks open or opens too early.
- A coolant temperature sensor that reads low.
- Low coolant level.
- Wiring or connector problems at the temperature sensor.
Before your test
Treat the code as part of your renewal timeline rather than a test-day surprise.
- Test early. A pass is valid for 90 days, and testing early leaves time for a repair before the deadline.
- If the lamp is on, a test now gives you the failed report the DMV says to get; it documents the failure and starts the waiver path.
- After the repair, drive the car through normal warm-ups, short trips and longer highway runs, for up to a week before the retest.
- Avoid testing right after a battery change; the DMV notes that resets the self-checks too.
If the lamp stays lit after repairs
In Washoe County a 1996 or newer light-duty vehicle that still fails for a lit lamp after repairs may qualify for a waiver. The receipts must show at least $200 in related parts and labor from a 2G licensed authorized station, or at least $200 in related parts the owner bought within 14 days after the initial test. Repair money spent before the first failed test does not count.
Sources
- dmv.nv.gov/emission_obd.htm (Nevada DMV OBD page: lamp on is a fail, rejected not ready, drive up to a week, lab readiness check before 4:30 p.m., battery change; read 11/3/26)
- dmv.nv.gov/regrenewal.htm (Nevada DMV renewal page: Washoe waiver receipts and $200 minimum; read 11/3/26)
- obd-codes.com/p0128 (public OBD II code reference: P0128 coolant temperature below thermostat regulating temperature; read 11/3/26)


