The Quick Answer above is the generic definition. What follows is the model-specific detail for the BMW models that log P0155.
P0155 on BMW: Causes, Symptoms and Fix Cost
P0155 on a BMW means the internal heater of the upstream oxygen sensor on bank 2 has failed or lost its power or ground, so the sensor takes longer to reach working temperature after a cold start. Bank 2 is the half of a V6, V8 or flat-six engine that does not contain cylinder 1 (a few inline-sixes with a split exhaust, such as BMW's M54, also have one). It is the same fault as P0135 on the other bank. The usual cause is a burned-out heater inside the sensor, though a blown fuse or damaged wiring can do the same.
Connect any standard Bluetooth OBD2 adapter to your BMW and Skanyx tells you what P0155 means on that engine, whether it is safe to keep driving, and what the fix should cost. Free on iPhone and Android.
Get Skanyx freeWhat does P0155 mean on a BMW?
BMW 3 Series (E46 325i/330i)
2000-2006The M54 in the 325i and 330i is an inline-six, but its exhaust is split in two: BMW's training material describes catalytic converters built into the exhaust manifolds, with a narrowband (Bosch LSH 25) pre-cat sensor on top of each manifold, and the MS43 engine management runs a separate mixture control for each half. Cylinders 1-3 are bank 1 and cylinders 4-6 are bank 2, and BMW parts listings name the bank 2 pre-cat sensor as the one for cylinders 4-6, so a bank 2 code on this car is genuine and points at the pre-cat sensor for the rear three cylinders. If the cylinder 1-3 sensor's heater code (P0135) is stored as well, check the shared heater supply before replacing both sensors.
What causes P0155 on a BMW?
Beyond the generic causes listed on the main P0155 page, these are the patterns noted for BMW models:
How to diagnose P0155 on a BMW with OBD2
Follow these steps to pinpoint the root cause of P0155:
- Read all stored codes. If other heater codes (P0135, P0141, P0161) are stored too, suspect a shared fuse, relay or wiring fault rather than one sensor
- Check the O2 sensor heater fuse and replace it if blown, then find out why it blew before condemning the sensor
- Unplug the bank 2 upstream sensor and measure resistance across its two heater pins. A healthy heater usually reads a few ohms; check the specification for your engine. An open circuit means the heater has burned out
- With the key on, back-probe the harness plug and confirm battery voltage on the heater supply wire. No voltage points to a fuse, relay or wiring fault upstream of the sensor
- Inspect the connector and the wiring run for corrosion, melted insulation and chafing against the exhaust
- Replace the sensor if the heater reads open or out of range, clear the code and confirm it stays off after a cold start and warm-up
How much does P0155 cost to fix on a BMW? (EUR)
Estimated repair costs for P0155 in EUR, compiled across makes. Expect BMW parts and labour towards the upper end of each range.
Prices estimated as of March 2026. Costs vary by region, vehicle, and shop.
Codes related to P0155
These codes are often seen alongside P0155 or point to related issues, on any make:
Looking for the full P0155 reference (all makes, full diagnosis flow, complete repair cost matrix)?
See the main P0155 guideDiagnose P0155 on your BMW
Your car logged P0155. Skanyx reads it on any standard Bluetooth OBD2 adapter, tells you whether it is safe to keep driving, and shows the €1-€320 repair range so you know the number before a shop quotes you. Free on iPhone and Android, and you do not need to be a mechanic to read it.
Get Skanyx free