Make sure you get the right sensor for the upper - and you don't need to go to the dealership or fork out for a Bosch. My daughter's 2000 Honda Accord with the 2.3 liter ULEV VTEC engine tripped P1167 code. Took a look at both O2 sensors, and the downstream/lower/one in the CatCon had a broken wire. Replaced that one, but vehicle still tripped the P1167. Went to parts store for the upstream/upper/one in the exhaust manifold, and got the Denso universal 234-4209, which is shown on the Denso Site and in the Parts store computer as the right one. ($55) Soldered the wires to the connector, put it in, cleared the code, but after 5 minutes of running the code tripped again. More research revealed the upstream/upper sensor is NOT an O2 sensor (this is a common misnomer for that unit, and is called that everywhere) - it is in fact a Air/Fuel Ratio sensor, that is specific to the ULEV VTEC engine. Denso Part #234-9025 (direct fit, no connector soldering needed, plug & go). ($192 - ouch) Notice, the Denso box on the 234-4209 says Oxygen Sensor on it, but on the 234-9025, it says Air/Fuel Sensor on the box.
Cleared the code, problem solved.
The difference is the ULEV VTEC, which is indicated right on top of the engine valve cover. When looking up these sensors, the parts store computer asks "Is this a California Emissions engine?" We answered "don't know", and got the right part. Nobody, not even the parts store guy, seems to knows for sure if ULEV is the same as California Emissions. It also asked if this is a SULEV engine, which ours is not, maybe that's California Emissions?