04 Disco o2 code NIGHTMARE


Dec 6, 2012
Las Vegas
Had my 04 Disco for a decade now and never been so frustrated, which is saying something. 187K miles, always cared for it, had some o2 sensor codes so I changed all 4, then a week later had the passenger side head gasket go, took it in to get it changed and my mechanic noticed that the passenger o2 harness was a bit melted, so he spliced in another one, then none of the o2 sensors were even reading, so he borrowed an ECU from a customers car at another shop, verified working, and still no change. He used a different scan tool to check sensor voltage, still nothing. He then swapped 1 new front o2 sensor and they started to read voltage. 52 miles into the drive cycle and it supposedly died at a stop light, check engine light came on with a bunch of random codes, which he found was from a blown fuse that kept blowing. He isolated the issue to a wire that had dropped onto the driveshaft and wore through the insulation. Again, he made the fix and tried again and the P1173 code came up. Again, that sensor was new. 180 miles later we got a CEL for aging o2 sensor, so he called diagnostics and the 3 possible issues were 1.) sensor contaminated from burning oil (but my disco doesn't burn enough oil to foul up a sensor that quick). 2nd possible problem was incorrect MAF readings, and 3rd was bad cat. So we started with the passenger side cat, swapped that out and checked for any exhaust leaks ($600).

Another drive cycle and p1173 code comes up as stored and p1170 as "PENDING", so changed that front o2 sensor again (3rd one) and didn't worry about the pending code for now, and it smelled SUPER rich and then it thew P0174, P1174, and P0139, which my mechanic said was "weird" and that it could be the MAF, but he doubted that bc he changed all the intake gaskets and fuel injector O rings when he did the head gasket job. SO, I cleared the codes and the next day it only threw P1170 (as well as P1415 as a "PENDING" code). So went ahead and swapped that passenger side o2 sensor for yet another one (4th sensor!!) and after this drive cycle it only threw P1173....AGAIN.

So yesterday I put a new MAF sensor in, cleaned the air filter box and replaced with a new air filter, checked all the vacuum lines (again) and all the hoses (again), all good, then today 5 miles later it throws P1173 and P1170 AGAIN! I'm legit don't know which I'm going to lose first, my mind or my life savings. At the end of my rope on this one because I've replaced damn near everything at least once, and lost count of how many o2 sensors I've gone through, both Walker and Bosch.

Any advice would be appreciated (unless you're going to tell me to sell it and buy a D1 or something like that). I'm just trying to pass CA smog and sell this thing before the city of Los Angeles tows it. My reg is expired 3 months now and I'm over $4500 deep already.


Well-known member
Sep 14, 2010
Northern Illinois
Those downstream fuel trim malfunction codes P1170 and P1173 make me wonder if the O2 sensors are crossed side to side. But to be honest I don't know if thats possible on a Disco2 but it is on a Disco1. Then you have a P0174 saying bank 2 is lean. The P1415 might be related to the lean bank 2 code because it's picking on only bank 2 for the secondary air system. Kind of eliminates the vac.solenoid but maybe not the vacuum harness that opens both those valves at the exhaust manifolds. Also make sure you don't have vacuum in the secondary air vacuum harness by switching the connector with your purge valve connector. That makes those secondary air valves open up when the truck thinks its cycling the purge valve.

Another thing I would be checking on this truck is if the red/black wires from each sensor is grounded. All 4 O2 sensors have this same color wire. They all go into the same ECM connector, all together in the same row. I don't know why BMW decided they wanted to turn off the O2 sensors when in open loop. That might be why your mechanic saw no voltage in the O2 sensors and thought that was notable. I've gone down that rabbit hole before and I figured out that the way they turn off the O2 sensors is by controling the ground on those black/red wires. Long story short, the driver in the ECM takes a shit and the O2 sensors never come on. So if that is whats going on with your truck, I in the past have cut all 4 of those wires out of that ECM connector and spliced them together on an eyelet and screwed it to ground on a bracket near the ECM. I never saw that car again so if no news is good news...it worked.


Active member
Feb 10, 2020
In my experience 99% of O2 sensor codes on D2's are caused by connector issues rather than the sensors themselves.
Or possibly by broken wires near the connectors when they have been left rattling around because the clips are broken or someone's hands are too big to get them back on properly.
There are 2 possible solutions,
1. clip off the connectors and hard wire it together with solder/heat shrink (but make sure its waterproof)
2. look at the various sites on the internet and source new connectors and pins then completely replace them.
I favor option 2 which I have implemented on one of our 2 D2's, the other throws n intermittent check engine light and one or more o2 codes but not often enough for me to take the time to swap the connectors. I just keep the Hawkeye in the door pocket and reset the codes when they come up.


Well-known member
Jul 3, 2009
Portland, OR
theres a grey plug connection (10 or so wires) back by your coolant reservoir, close to the firewall. Unplug it and see if you have any burn spots on it. Ive ran into it a couple times.