There are dozens of fault codes related to the oxygen sensors, but one of the easiest to diagnose is the heater circuit. The most likely cause, given the recent history, is a stretched or corroded terminal in the connector, but normally that would set the code right away, not minutes or miles after you picked up the car.
There are, however, a couple of points to be aware of. First, if the connector was overlooked, there are other codes that would set related to the sensor's performance, and those may not set until the coolant temperature reached a certain value. That's the signal that tells the Engine Computer to start watching the O2 sensors' readings. Until then, a performance code may not set.
Second, there is always a long list of conditions that must be met for a code to set. Among those, certain other codes must not be in memory already if they're related to things the computer uses for a reference. Only about half of the over a thousand potential fault codes turn on the Check Engine light, so there could have been a code in memory all along that you didn't know about, and that could abort some self-tests run by the computer. Now that the original code has been erased, the self-tests can resume, and that could be why the O2 sensor code first set now.
I don't THINK that is the case here since a heater code is pretty straight-forward, but it can explain why some codes aren't set when a problem occurs. I'm leaning toward a poor connection between mating terminals in the O2 sensor's connector.
Friday, November 29th, 2013 AT 4:58 PM