
What this code means
P0128 may mean the engine coolant temperature is below the expected thermostat regulating temperature.
What the vehicle may do
- The vehicle may warm up slowly.
- The cooling fan may run when the code sets.
- The malfunction indicator may come on.
- There may be little or no obvious driveability complaint.
Possible fault areas
- Possible coolant level or coolant condition issue.
- Possible thermostat operation issue.
- Possible engine coolant temperature sensor issue.
- Possible signal or low-reference circuit issue.
Diagnostic path
Opening context
On this V8-5.3L Silverado, P0128 means the engine coolant temperature may be staying below the range the controller expects once the thermostat should be regulating. The truck may warm up slowly, may run the cooling fan, may turn the light on, or may just show the code with no obvious driveability complaint. Broadly, this can involve coolant level or condition, thermostat operation, the engine coolant temperature sensor, or the signal and low-reference circuits for that sensor. As a baseline, the ECT scan data lists Parameter Normal Range: 88 to 105°C (190 to 221°F). For circuit clues, a signal short to ground can show Signal 140°C (284°F), while an open signal or short to voltage can show −40°C (−40°F). Start with the basic system checks, then follow a structured diagnostic approach so you do not jump straight to a thermostat or sensor without proving the direction of the fault.
Initial checks before testing
First, make sure there is not an incorrect coolant level or coolant condition. If there is a coolant condition, correct it as needed before going any farther. If coolant level and condition are okay, look for any codes related to the engine coolant temperature sensor. If those are present, check what they mean first, because this P0128 path depends on having a believable coolant temperature input.
Warm-up verification
If there is no related coolant temperature sensor code, run the engine at 1,800 to 2,200 RPM. Watch the ECT Sensor parameter. It should go greater than 80°C (176°F) within 15 min. If the ECT Sensor stays 80°C (176°F) or colder, the diagnostic direction is the engine coolant thermostat: test or replace the thermostat as required by the result.
Reproduce the operating conditions
If the ECT Sensor is warmer than 80°C (176°F), reproduce the operating conditions for the monitor, or reproduce the captured conditions from the code data. Treat those conditions as monitor gates, not as a parts list. For P0128, the monitor gates include Engine Off Time = Greater than 30 min, Fuel Alcohol Content = Less than 87%, and Start-Up ECT = −40 to 52°C (−40 to 126°F). The monitor is looking for the coolant temperature not being within its calibrated range. A useful cold-soak check is that intake air temperature and engine coolant temperature should be within 3°C (5°F) of each other after the ignition has been Off for greater than 8 h. Also keep in mind that high resistance in the coolant temperature sensor circuits may set this code without setting a separate sensor code.
Code reset decision
After reproducing the operating conditions, verify whether P0128 resets. If it does not reset, the system is okay at this point. If it does reset, move into circuit and sensor testing instead of guessing at the thermostat again.
Low-reference circuit test
For circuit testing, turn the ignition and vehicle off and let the modules power down. It may take up to 2 min for all vehicle systems to power down before an accurate ground or low-reference continuity test can be made. Disconnect the engine coolant temperature sensor connector. Test between the low-reference circuit terminal 1/A and ground; the result should be less than 10 Ω. If it is 10 Ω or greater, disconnect X2 at the engine control module and check the low-reference circuit from the sensor harness to the control module harness. That circuit should be less than 2 Ω. If it is 2 Ω or greater, repair the open or high resistance in that circuit. If it is less than 2 Ω, the diagnostic result points to the engine control module.
Open-circuit response check
If the low-reference circuit to ground is less than 10 Ω, turn the ignition on with the vehicle in Service Mode and look at the ECT Sensor parameter with the sensor disconnected. It should read colder than −39°C (−38°F). If it reads −39°C (−38°F) or warmer, turn the vehicle off, disconnect the engine control module, and test the signal circuit terminal 2/B at the component harness to ground. The result should be infinite resistance. If it is less than infinite resistance, repair the short to ground on the signal circuit. If it is infinite resistance, the diagnostic result points to the engine control module.
Jumper response check
If the disconnected-sensor reading is colder than −39°C (−38°F), connect a 3 A fused jumper wire between the signal circuit terminal 2/B and the low-reference circuit terminal 2/B. The ECT Sensor parameter should then read warmer than 139°C (282°F). This proves whether the controller can see the circuit pulled low through the jumper.
Signal circuit fault checks
If the jumpered reading is 139°C (282°F) or colder, turn the ignition off and remove the jumper. Disconnect the engine control module, turn the ignition back on in Service Mode, and test the signal circuit terminal 2/B at the component harness to ground. It should be less than 1 V. If it is 1 V or greater, repair the short to voltage on the signal circuit. If it is less than 1 V, turn the vehicle off and check continuity from the signal circuit terminal 2/B at the component harness to the control module harness. That should be less than 2 Ω. If it is 2 Ω or greater, repair the open or high resistance. If it is less than 2 Ω, the diagnostic result points to the engine control module.
Sensor component test
If the jumper test does make the ECT Sensor read warmer than 139°C (282°F), test the engine coolant temperature sensor itself. With the ignition off, disconnect the sensor and measure resistance between the signal terminal 2/B and low-reference terminal 1/A. Compare that resistance to the temperature-versus-resistance table for the sensor. If the resistance is not in the specified range, replace the engine coolant temperature sensor. If it is in range, test between each sensor terminal and the sensor housing; that reading should be infinite resistance. If it is less than infinite resistance, replace the engine coolant temperature sensor. If it is infinite resistance, the sensor checks okay. If the temperature-versus-resistance values are not available during the test, pause and get the correct table before making a call; do not guess.
Repair verification and takeaway
After the repair is complete, verify the repair and confirm P0128 stays gone. The key on this one is to separate thermostat warm-up verification from sensor and circuit simulation. Prove the coolant level, prove the warm-up rate, then prove the low-reference, signal circuit, and sensor response before replacing parts. For more diagnostic training, visit stepdiagnostics.com.
Final check
P0128 is often best approached by proving coolant condition, warm-up behavior, and then the coolant temperature sensor circuits before making a repair decision.
For more guided automotive diagnostics, visit STEP Diagnostics.





