The home of Dino

Guide to replacing a BMW E46 4 cylinder pre-cat sensor


Did a bunch of searching online for this when mine broke and couldn’t really find anything that related to the 4 cylinder E46 BMWs. Got a good steer from the good folk over at Bimmerforums so thought I’d share the full process in the hope it saves you the same journey.

The problem:

I have a 2000 BMW 316i SE 4 cylinder. The engine light came on and I checked the error codes using my Peake R5/FCX-3 reader. This plugs in under the dash in the ODB2 port (or in the engine bay on pre 2001 cars with an adapter) and came up with a single code ‘A6’ which reads in German as “Periodendauer Lambdasonde vor Kat” … and translates as “PreCat oxygen sensor”. In normal speak, the exhaust sensor just before your catalytic convertor is faulty. Thinking about it, the engine did seem a bit sluggish and sometimes stuttered at low revs when parking and would sometimes ‘dip’ during initial acceleration, especially from low revs or up a hill. Some form or fuelling / management problem would explain all of that.

The science:

The oxygen sensor (also known as a lambda sensor) tells the engine management how to alter the fuelling based on what gases are currently coming out of the engine. It can sense too much unburnt fuel and then reduce the intake mixture and vice versa.

4 cylinder cars (316 and 318 models)

There is a sensor before the catalytic converter (pre cat) and after (post cat) on the 4 cylinder BMWs. They are located under the car and can be clearly seen slicking out of the exhaust pipe either side of the catalytic converter. This is what the rest of this article is about.

6 cylinder cars – Bonus description!

Just as a side note, on the 6 cylinder engines, there are two pre cat sensors. They are located directly on the exhaust manifolds as they exit the engine block. There is 1 sensor for each bank of 3 cylinders. These banks are either referred to as Bank 1 and Bank 2 or Cyl 1-3 and Cyl 4-6. The sensors are tucked down the side of the engine and need a special tool to remove them. There are plenty of YouTube videos about replacing these sensors though.

Part needed:

You can find cheaper versions for around £45 but I went for the OEM Bosch part number 11781247406 at around £85 off Ebay. You want to be searching for something like “BMW e46 318 pre cat sensor” but then check the description for compatible models and years. If possible, contact the seller to make sure as these are notoriously easy to get the slightly wrong part / connector. Click here to search for the sensor via Google.

Step 1:

Jack the car up on the front right corner jacking point. The standard BMW jack will do. Go as high as you can then place a secondary support under the car to act as a backup if anything goes wrong. I used a pile of bricks with a small piece of wood on top. You’ll be working under the car, so being super-safe is critical.

Step 2:

bmw_cat_1Locate the sensor. Looking under the car from the left side, it looks like this. Note the jack on the far side of the car. This is BEFORE I added the backup support.

Step 3:


Give the sensor a good spray of WD40 and leave for a few mins. Then just unscrew the sensor. You’ll be doing this from below so think about the direction a little before. With the spanner on the sensor, pull towards the front of the car. In the image from step 2, the unscrew direction is anti-clockwise – as normal. It may take a bit of a tug though as it’s been expanding and shrinking a whole load over time.

Step 4:


Unclip the wire and carefully pull the connector out of its retaining clip too. You will probably need two hands to disconnect the connector. I needed a small flat-headed screwdriver to initially prise the connector tabs apart so I could then pull the two halves apart.

Step 5:


Not really a step but here’s the old and new sensor next to each other. Note the grease on the thread of the new sensor. It came like this but if yours didn’t, but a dab of copper grease or similar on the threads before you install.

Step 6:


Screw in the new sensor. I had a bit of a mare locating the thread when trying to do it one handed and from an angle. After some huffing and puffing, I crawled further under the car  and used both hands. Went in straight away. Strange. Tighten it up and reconnect the connector, seating the cable in the clips as you go.

Step 7:

When I started the car, the engine light was still on and the Peake reader reported the same fault. Most modern cars need to be run through 3 full cycles for it to confirm that the fix has cleared the fault. Read more here. I’m currently doing this but the initial pickup when accelerating was noticeably stronger, so I’m happy it has done the job.

Hope that helps!


  • I have E46 BMW 318I ( 2001). And at first it used to ignite while consuming a lot of fuel. Approximately spent 30liters in less than a kilometer. Recently, it stopped igniting. And have put 50liters of petrol. Is this oxygen sensor? Of petrol pump? Some machenic asked for R15000 for that, i thing he is crazy. Thats a lot of money. Can it be either of them or both? Please help.

    • Hard to say from the description. But using 30 litres in a km points to a hole in the system rather than a sensor returning errors. I’m not even sure the injectors can inject 3 litres of fuel in a km. That’s a lot! And as far as I know, the cat will run ‘ok’ without the pre-car sensor plugged it, but will run ‘better’ with it present. It simply adjusts the mixture + or – against a normal setting.

      If you’re losing that much fuel, I’d look under the car. You should see it leaking! Maybe a split fuel line. Other than that, “using a lot of fuel and not igniting” could be a bunch of things from head gasket to broken fuel pump. I’m no expert but would need a bit more info to make a better guess. My one advice would be to invest in a Peake reader. They are about £85 but have allowed me to save a lot more by avoiding a garage fee. For a 2001 318i you’ll need the “R5/FCX-3-16” with the under-dash connector. Check if you have a data connector above the driver’s right knee, under the steering column (on a UK RHD car).

  • I have recently replaced the ‘pre cat conv oxy sensor’ on my 2000 318i
    I purchased one from China – delivered to NZ in 10 days, by far the cheapest option, any one handy can utilise the original plug and splice the sensor wires with the instructions and the provided splices. I urge others to try this. (30 mins to jack the car up – 60 mins to remove sensor and splice connector – 30 mins to install and clean up). I’d imagine an auto mechanic could cut this down to 60 mins.

  • Greetings I am so happy I found your blog page, I really found you by error,
    while I was researching on Digg for something else, Nonetheless I
    am here now and would just like to say many thanks for
    a tremendous post and a all round thrilling blog (I also love the
    theme/design), I don’t have time to browse it
    all at the minute but I have bookmarked it and also added your RSS feeds,
    so when I have time I will be back to read
    more, Please do keep up the superb jo.

  • You did a great contribution here. Thank you sir!
    I have a 04′ 316ti N42B18 and fault code is basically “adaptation add. per time”, it has a rough idle (but runs great otherwise) and I’ve checked for air leaks and replaced hoses and intake boot and what not. Spark plugs are brand new too. Still the light comes on after a week of driving. Same code. I’m leaning on the fact that lambda may be erroneous in some way.
    I don’t get a specific fault code on the lambda, but could it be the reason still? I’m using PA Soft 1.4.9 BMW scanner. Thinking of replacing, hence my look at your guide.

  • Regarding anders idle prob, i had a rough idle, checkd loads of things but and didn’t solve prob and light wouldn’t go out, in the end it al come down to a 30 amp fuse in the fuse box under the bonnet next to ecu, prob sortd, put back on obd reader and no faults. Removd light and stayd off ever since

  • Thnx a mil.
    This info is exactly what I needed!
    U help the “wana be” dudes like us who can’t afford new Bimmers that come with service plans. We buy out of warranty 2nd hand ones & the maintenance is obviously too expensive sometimes but we still want to drive our cars.
    Thanx again.

  • greetings. many many thanks for this o2 sensor help. I’m not a mechanic but I always try to fix my car myself. I was thinking to replace my sensors. your this blog helped me a lot to understand everything. but i’m bit confuse. the o2 sensor on your pic is it pre cat or post cat? I’m bit struggling to find my pre cat o2 sensor. do i have to remove anything to reach this sensor. i’m driving 318ci 2001 model.

  • Very good DIY.
    Anders, did you work it out? I have a similar problem.
    I have the N42B20 engine with a lean code (P0171 – Multiplicative adaptation). I replaced the MAF, spark plugs, smoked it (to check vacuum leaks), replaced fuel filter+regulator, but the fault comes back every 200 km.
    I’m thinking now to replace either the lambda sensor either the fuel pump (apparently they tend to soft fail on e46).
    So did you have any luck after replacing the lambda probe?

    • The light went out for about a week but came back on. If not used supermarket petrol (the main cause of a random red light) so decided to swap out the air intake sensor (aka Mass Air Sensor). This determines the right air fuel mix, which also gets confused with / can cause spurious emissions related codes.

      Initially bought some mass air sensor cleaner spray but didn’t work. Ordered a spare from eBay (OEM though).

      Took about 10 mins to change. Light went out and stayed out.

  • just read your blog on precat sensors.i am doing mine tomorrow and after reading i am happy to do the job.thanks.

  • Hi
    Have been looking for reasons for my z3 1.9 1998 to be failing emissions and after dodgy diagnostics at a supposed real deal garage that said codes were not specific( a big fat lie) as me being a girl they wanted me to leave car for them to fix it but at an undetermined cost, I did crankcase valve and breather changed out services and replaced fuel filter as these were cheapest first, but no fix, so now it’s down to cat or oxy sensor so am going to replace both before changing out the cat as quote was £900/£1200 British pounds and my car isn’t worth that, but my question is I am a little confused, mine is 4 cylinder 1.9 1998 140bhp, are the sensors actualy under the car as some run up through to the top of the engine rather than just underneath near to the cat? Am going blind with the amount of different vids I have seen on the subject, I am hoping and praying it’s the same as yours and they are underneath and not running up through to the engine as this is a job a bit beyond my comfort zone, would be very grateful of any input anyone can offer, except the adding redx and running car for a while as have done this and surprise suprise it didn’t work,

  • Can anyone tell me. Does the lambda sensor on an 2001 320 Ci fit a 2000 318i
    Would be great help for an email. Thank you

  • Thank you for the excellent guide! I changed the pre cat sensor on my 1999 318i e46 earlier today and your guide has really helped. I also used KMS and your are right, they were very helpful. The sensor for the 316i and 318i are the same ( part no 0258003559). Cost me £52 and fitted perfectly. BTW I discovered great code reader for diagnostics …from Amazon MAOZUA C110 BM code Scanner. It reads codes and resets including airbab…£38!

  • How do you know which is bank 1 and bank 2? And do i have to remove any covers, splash shield etc. to access this?

  • Do you know where the quick release clip is found in the engine bay? Mine is not connected at all

  • Hello. I’ve got a 2003 E46 318ci N42B20 and recently got the code P0030 bank 1 sensor 1. I’m a bit confused as real oem says the part number is 11787512975 but your guide says 11781247406. Are both parts compatible or does it need to be specific?ty