Go-Parts
Cart 0
Your cart is empty
Add an item to see it appear here.
Wrenchy
Go-Parts Garage
Expert guides for diagnosing, troubleshooting, and replacing auto parts Expert guides for diagnosing and replacing auto parts
Browse All →
🎬 Helpful Videos 🛍️ Shop This Part

P0128 on 2012-2019 Kia Soul: Causes and Fixes for Coolant Temperature Issues

P0128 on a 2012-2019 Kia Soul indicates the engine isn't warming up quickly enough. The most common fix is replacing a stuck-open thermostat, a part that costs about $20-$60. However, Kia has issued multiple software updates for the engine computer to fix this specific code, so you should check with a dealer for any applicable Technical Service Bulletins (TSBs) before replacing parts. This is especially true for the 1.6L GDI engine in specific model years.

15 minutes to read 2012-2019 Kia SOUL
Most Likely Cause
Outdated Engine Control Module (ECM) Software
Difficulty
2/5
Est. Time
1.2 hrs
DIY Doable?
✅ Yes
Shop Labor
$100 – $400
Parts Price
$20 – $150
⚠️ Drivable, but... — Yes, but driving with this issue can lead to poor fuel economy, increased emissions, and a heater that doesn't blow hot air. It's best to address it to ensure the engine operates efficiently and to prevent masking other potential cooling system problems. Driving long-term with an engine that isn't reaching operating temperature can also lead to increased engine wear.
Key Takeaways
  • For the 2012-2019 Kia Soul, P0128 can often be fixed with a software update from a Kia dealer; check for TSBs first.
  • If no software update is needed, the most likely cause is a thermostat that is stuck open.
  • You can diagnose a stuck thermostat at home using an OBD-II scanner with live data by watching the coolant temperature as the engine warms up.
  • Always check your coolant level, as a low level can also trigger this code.
  • This is a DIY-friendly repair for those with basic tools and mechanical experience.
The trouble code P0128, defined as "Coolant Temperature Below Thermostat Regulating Temperature," means the engine's computer (ECM) has detected that the engine is not reaching its normal operating temperature within a predetermined amount of time after being started. The ECM expects the coolant to warm up to about 195-215°F, and if it stays too cool for too long after startup, it triggers the Check Engine Light. This is most commonly because the thermostat is stuck open, allowing coolant to circulate through the radiator constantly instead of allowing the engine to warm up first.

What's Unique About the 2012-2019 Kia SOUL

For the 2012-2019 Kia Soul, this code is frequently caused by overly sensitive software in the Engine Control Module (ECM), not a mechanical part failure. Kia acknowledged this by releasing several Technical Service Bulletins (TSBs) that call for an ECM software update to correct the logic that triggers the P0128 code. [TSBENG196, TSBENG156, TSBENG146R1, TSB-ENG118R2, TSB-ENG-152] These TSBs are often specific to certain model years and engines, like the 1.6L GDI. Because of this, a crucial first step for any Soul owner seeing this code is to check with a Kia dealership to see if their vehicle needs a software reflash before proceeding with part replacements.

Diagnostic Flowchart

Tap your situation to follow the diagnostic path that matches what you're seeing on this vehicle.

Which of these best describes what you have already checked or observed?
→ Contact a Kia dealer with your VIN to check for ECM update TSBs (e.g., TSBENG196, TSBENG156). This is the most common fix ($0-$150).
→ Top off the reservoir with Kia Genuine Long Life Coolant ($15-$30) and inspect the radiator, hoses, and water pump for leaks.
How does the live coolant temperature reading behave on an OBD-II scanner?
→ Replace the thermostat (OEM 25500-2B000) and housing (25631-2B053) for $30-$80, as it is likely stuck open.
→ Replace the Engine Coolant Temperature (ECT) sensor ($25-$75) and check its wiring for damage.

Generation note: This year range covers the end of the first generation (AM, 2012-2013) with the 1.6L Gamma engine and the entire second generation (PS, 2014-2019) which used both the 1.6L Gamma GDI and 2.0L Nu GDI engines. The causes are generally the same across both generations, but Kia issued different Technical Service Bulletins for specific model years and engines within this range, many related to ECU software updates. [TSBENG146R1, TSB-ENG118R2, TSBENG156, TSBENG196]

Symptoms You May Notice

  • Check Engine Light is on
  • Engine temperature gauge reads lower than normal or fluctuates
  • Heater takes a long time to warm up or blows lukewarm air
  • Decreased fuel economy
  • Engine idle speed is higher than normal
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing the coolant temperature sensor when the actual problem is a stuck-open thermostat.
  • Replacing the thermostat without first checking if a simple, and sometimes free, ECM software update from the manufacturer would have solved the problem.
  • Replacing the thermostat but failing to properly bleed the air from the cooling system, which can cause erratic temperature readings and potentially re-trigger the code.
  • 🎬 Watch this DIY guide to understanding and fixing code P0128.

Most Likely Causes

  1. Outdated Engine Control Module (ECM) Software 🔴 High Probability Kia issued multiple Technical Service Bulletins (e.g., TSBENG196 for 2019 1.6GDI, TSBENG156 for 2015 models, TSBENG146R1 for 2012-2013 models) specifically to update the ECM logic for being too sensitive and falsely triggering code P0128. [TSBENG196, TSBENG156, TSBENG146R1]
    How to confirm: Contact a Kia dealership with your vehicle's VIN. They can check their system for open service actions or applicable TSBs that involve an ECM software update. This is the most critical first step.
    Typical fix: A Kia dealership performs a software update (reflash) on the ECM using their proprietary KDS diagnostic tool. This may be covered under warranty or a service campaign.
    Est. part cost: $0 - $150
  2. Faulty Thermostat (Stuck Open) 🔴 High Probability This is the most common mechanical failure for P0128 on almost all vehicles. The thermostat fails in the open position, allowing coolant to circulate to the radiator constantly, which prevents the engine from warming up properly. The plastic housings on these thermostats can also become brittle and fail.
    How to confirm: Using an OBD-II scanner with live data, monitor the coolant temperature from a cold start. If the temperature rises very slowly, drops at highway speeds, and struggles to reach the normal operating range (approx. 180-195°F or 82-90°C), the thermostat is likely stuck open.
    Typical fix: Replace the engine thermostat and gasket. Many owners and mechanics recommend replacing the entire thermostat and housing assembly. It's also required to drain and refill the engine coolant 🎬 See this walkthrough for replacing the 1.6L engine thermostat. at the same time.
    Est. part cost: $20-$60
  3. Low Engine Coolant Level 🟡 Medium Probability Leaks in the cooling system can cause the coolant level to drop. If the level is low, the coolant temperature sensor may be exposed to an air pocket, giving an inaccurate, low reading. It can also indicate a more serious issue like a cracked hose or failing water pump.
    How to confirm: Visually inspect the coolant level in the overflow reservoir when the engine is cool. The level should be between the 'MIN' and 'MAX' lines. Also, check for any visible signs of coolant leaks (typically pink or green residue) around hoses, the radiator, and the water pump.
    Typical fix: Top off the coolant to the correct level with the specified type (Kia Genuine Long Life Coolant or a compatible Asian vehicle formula). If a leak is present, the leaking component must be repaired or replaced.
    Est. part cost: $15-$30 for coolant
  4. Faulty Engine Coolant Temperature (ECT) Sensor ⚪ Low Probability While less common than a thermostat failure, the ECT sensor can fail and send incorrect temperature readings to the ECM. This can sometimes happen after a thermostat replacement if the sensor is damaged during the process.
    How to confirm: Watch the live data from the ECT sensor on an OBD-II scanner. If the reading is erratic, jumps to extreme highs or lows (-40°F), or doesn't change as the engine warms up, the sensor is likely faulty. You can also test its resistance with a multimeter against the specifications in the service manual.
    Typical fix: Replace the engine coolant temperature sensor.
    Est. part cost: $25-$75

Rare But Worth Checking

  • Cooling Fan Stuck On: If the electric cooling fan runs constantly, even when the engine is cold, it will over-cool the engine and can prevent it from reaching operating temperature, triggering a P0128 code. This is often caused by a faulty fan relay or fan control module.
  • Wiring Issue to ECT Sensor: A damaged wire or corroded connector for the ECT sensor can cause a loss of signal or incorrect readings, leading the ECM to believe the engine is cold.
  • Incorrect Coolant Mixture: Some owner forums mention that if the coolant-to-water ratio is too rich (too much antifreeze), it can slightly alter the thermal properties of the fluid, and the sensitive ECU logic may interpret the slower warm-up time as a fault, triggering P0128.

Diagnosis Steps

  1. Check for TSBs: Contact a Kia dealer with your VIN to see if there are any open service campaigns or TSBs related to P0128 and an ECM update. This should always be the first step for this vehicle. [TSBENG196, TSBENG156, TSBENG146R1, TSB-ENG118R2, TSB-ENG-152]
  2. Check Coolant Level & Condition: With the engine cool, inspect the coolant reservoir. Ensure the level is between the 'F' (Full) and 'L' (Low) marks. If low, top it off and check for leaks. The coolant should be the correct color (typically green or pink/red) and not look rusty or sludgy.
  3. Monitor Live Data: Connect an OBD-II scanner and view the live data for the Engine Coolant Temperature (ECT).
  4. Analyze Warm-Up: Start the engine from cold and watch the ECT reading. It should climb steadily. If it rises very slowly, plateaus around 160-170°F (71-77°C), or drops significantly when driving at speed, the thermostat is almost certainly stuck open.
  5. Inspect ECT Sensor Reading: If the temperature reading is erratic, stuck at a very low number (like -40°F), or doesn't move at all, the ECT sensor or its wiring is the likely culprit.
  6. Inspect Cooling Fan Operation: Ensure the cooling fan is not running constantly when the engine is cold. It should only turn on when the engine reaches operating temperature or when the A/C is on.
  7. Physical Inspection: If the above steps are inconclusive, proceed with a physical inspection. This involves locating and removing the thermostat to check 🎬 Watch: How to locate and replace the 2.0L engine thermostat. if it's physically stuck open. While there, inspect the ECT sensor's wiring and connector for damage or corrosion.

Parts You'll Likely Need

  • Engine Coolant Thermostat (OEM #25500-2B000 (For 1.6L Gamma engine)) — This is the most common mechanical part to fail and cause a P0128 code by sticking in the open position.
    Trusted brands: Kia Genuine, Gates, Beck/Arnley, Aisin
    OEM price range: $40-$60
    Aftermarket price range: $20-$40
  • Engine Coolant Thermostat Housing (OEM #25631-2B053 (For 1.6L, check VIN)) — The original plastic housing can become brittle with age and crack during thermostat replacement or develop leaks. Many mechanics recommend replacing it as an assembly with the thermostat.
    Trusted brands: Kia Genuine, Dorman, SKP
    OEM price range: $15-$30
    Aftermarket price range: $10-$20
  • Engine Coolant Temperature Sensor — Though less common, this sensor can fail and send incorrect readings to the computer, causing the P0128 code.
    Trusted brands: Kia Genuine, NTK, Beck/Arnley
    OEM price range: $50-$75
    Aftermarket price range: $25-$50
  • Engine Coolant / Antifreeze — Required to top off or refill the system after replacing the thermostat or sensor, or if the level was low to begin with. Use of the correct type is important.
    Trusted brands: Kia Genuine Long Life Coolant (Green)

Technical Service Bulletins (TSBs) & Recalls

  • TSBENG196: SERVICE ACTION: 1.6GDI ECU LOGIC IMPROVEMENT FOR DTC P0128 (SA363) for 2019 Soul models.
  • TSBENG156: ECM UPGRADE – MIL ON WITH DTC P0128 for 2015 Soul models.
  • TSBENG146R1: ECM UPGRADE – RIO, SOUL MIL ON WITH DTC(S) P0456/P0461/P050A/P2188/P2192/P0128/P0326/P0441 for 2012-2013 Soul (AM) models.
  • TSB-ENG118R2: COMBINED TSB/SERVICE ACTION - RIO, SOUL 1.6 GDI MIL ON WITH DTCS P0456/P0461/P050A/P2188/P2192/P0128 (SA152) for 2012-2013 Soul (AM) models.
  • TSB-ENG-152: ECM UPGRADE - MIL ON WITH DTC P0128 for 2015 Soul (PS) vehicles.

Platform-Specific Known Issues

  • A primary issue for the 2012-2019 Kia Soul is the high likelihood of the P0128 code being triggered by a software issue rather than a hardware failure. Kia has issued multiple Technical Service Bulletins to address this, which involve reprogramming the Engine Control Module (ECM). [TSBENG196, TSBENG156, TSBENG146R1, TSB-ENG118R2, TSB-ENG-152]
  • The 1.6L Gamma and 2.0L Nu engines used in these vehicles have been subject to class-action lawsuits and recalls for other issues, though not directly for P0128. However, this context highlights the importance of checking for any open service campaigns when diagnosing issues.

Mechanic-Grade Diagnostic Values

  • Engine Coolant Temperature (ECT) Sensor Resistance — expected: Approximately 2,000-2,500 Ohms at 68°F (20°C), dropping to 200-300 Ohms at 176°F (80°C).. Failure: Readings are infinite (open circuit), zero (short circuit), or do not change smoothly as temperature changes.
  • Thermostat Opening Temperature — expected: The OEM thermostat for the 1.6L and 2.0L engines is rated to begin opening at 82°C (180°F).. Failure: On a live data scan tool, if coolant temperature fails to exceed ~170°F during normal driving, or drops significantly at highway speeds, the thermostat is likely stuck open.

Wiring & Ground Locations

  • Engine Ground Strap — A primary ground strap connects from the engine block (often near the transmission housing) to the chassis frame rail on the driver's side of the engine bay.. A corroded or loose engine ground can cause incorrect and fluctuating readings from engine-grounded sensors like the ECT sensor. While not a primary cause, it can lead to misdiagnosis if sensor readings are unstable.
  • ECT Sensor Connector — On the 2.0L engine, the sensor is located on the driver's side of the cylinder head, near the master cylinder. On the 1.6L engine, it is typically near the thermostat housing.. This is the primary connection point for testing the sensor and its wiring. Damage or corrosion here will directly cause incorrect temperature signals to the ECM.

Real Owner Repair Stories

  • BobIsTheOilGuy forum user (Kia Forte 2.4L (similar cooling system logic)) — P0128 code appeared immediately after replacing a working thermostat as preventative maintenance.
    ❌ Tried (didn't work) Replacing the thermostat with a new OEM part., Extensive bleeding of the cooling system to remove air., Verifying no leaks were present.
    ✅ What actually fixed it The user had to perform the job twice due to incorrectly seating the thermostat gasket the first time, causing a leak. After fixing the leak, the code appeared. Another user noted that on Hyundai/Kia vehicles, the ECU logic is very sensitive to the coolant-to-water ratio, and a mix greater than 50/50 can trigger a P0128 code. The final resolution involved ensuring the thermostat was seated correctly with the bleeder valve facing up and meticulously bleeding the system.
  • Reddit user phgeek1 (2013 Kia Soul 1.6L) — Temperature gauge reading was low and the heater took a long time to get warm.
    ✅ What actually fixed it Replacing the thermostat fixed the issue. The user noted the original was failing and not closing all the way, preventing the engine from reaching full operating temperature. They confirmed with an OBD reader that the temperature was staying below 180°F before the fix.

OEM Part Supersession History

  • 25500-2B001, 25500-2B40025500-2B000 — Part number consolidation and updates by the manufacturer for the 1.6L engine thermostat.

Model Year Variations Within This Range

  • 2012-2013 (AM Generation) vs 2014-2019 (PS Generation): While both generations use 1.6L and 2.0L engines, the specific TSBs for the P0128 software update are year-range specific. For example, TSBENG146R1 and TSB-ENG118R2 apply to 2012-2013 models, while TSBENG156 and TSBENG196 apply to second-generation (PS) models. This highlights that the ECU logic and potential for false triggers changed between generations and even within them.
How To Replace The Thermostat On A Kia Soul or Forte Rio P0128
How To Replace The Thermostat On A Kia Soul or Forte Rio P0128
Thermostat Kia Soul 1.6L 2012-2016 Location and Replacement
Thermostat Kia Soul 1.6L 2012-2016 Location and Replacement
Thermostat Kia Soul 2.0L 2008-2013 Location and Replacement
Thermostat Kia Soul 2.0L 2008-2013 Location and Replacement
DIY Fix – Fault Code P0128 (Coolant Temperature Below Thermostat Regulating Temperature)
DIY Fix – Fault Code P0128 (Coolant Temperature Below Thermostat Regulating Temperature)
Wrenchy
Article researched & written by
Go-Parts' AI research assistant. Every article is backed by live web research, verified OEM data, and real technician knowledge — so you get accurate, up-to-date information you can trust.
Meet Wrenchy → Updated Jul 29, 2026

The information in this article is provided for general reference and educational purposes only. Vehicle specifications, procedures, and part compatibility can vary by production date, trim level, and region. Always consult your vehicle's factory service manual and verify part numbers before purchasing or performing repairs. Safety-critical components such as airbags, seat belts, and braking systems should be installed by a qualified professional.

Year Coverage
This article covers the OBD-II Code P0128 for:
  • Kia SOUL: 20122013201420152016201720182019
In this article
🎬 Helpful Videos
Jump to ▴

Email This Guide

We'll send you a link to this article so you can read it later or share it.

Added to cart · Part