P0125moderate severityPowertrain
Insufficient Coolant Temperature for Closed Loop Fuel Control
on 2002 BMW M3 3.2L I6 S54 ยท RWD
What this code means
The engine is not reaching normal operating temperature quickly enough for the PCM to enter closed-loop fuel control.
Symptoms
- Check Engine Light
- Poor fuel economy
- Extended warmup time
- Rich exhaust smell
Common causes
- Stuck-open thermostat
- Faulty ECT sensor
- Cooling fan running constantly
- Low coolant level
Diagnostic steps
- Monitor ECT warmup time (should reach 160ยฐF within 5-10 min)
- Test thermostat
- Check cooling fan operation
- Test ECT sensor
Repair notes
Replace thermostat. Most common cause.
๐ Don't have a code reader?
Any of these will read and clear this code โ pick by how deep you want to go.
Budget handheld~$40
ANCEL AD410 โ
No-phone-needed handheld โ reads, clears, live data, freeze frame.
โ ANCEL official store
Serious DIY~$100
BlueDriver Pro โ
Enhanced codes (ABS, airbag, TPMS) plus repair reports.
SHOP FAVORITEShop-grade tablet~$300
Autel MaxiCOM MK808S โ
Bidirectional tests, service resets, all systems.
โ Autel official store
Pro diagnostics$1,500+
Autel MaxiSys MS906 Pro โ
Full-system pro platform โ topology mapping, ECU coding, the works.
โ Autel official store
As an Amazon Associate and Autel/ANCEL partner, OLP earns from qualifying purchases โ how we link. This never changes the specs we publish.
Other Powertrain codes on this vehicle
29CC
Misfire Cylinder 1
29CD
Misfire Cylinder 2
29CE
Misfire Cylinder 3
29CF
Misfire Cylinder 4
29D0
Misfire Cylinder 5
29D1
Misfire Cylinder 6
29D2
Misfire Cylinder 7
29E0
Lambda Additive/Idle Adaptation Limit, Bank 1
29E1
Lambda Additive/Idle Adaptation Limit, Bank 2
29E2
Lambda Multiplicative Part-Load Adaptation Limit, Bank 1