AutoLogicTools

OBD-II trouble code

P0099: Intake Air Temperature Sensor 2 Circuit Intermittent/Erratic

The word intermittent is the whole diagnosis. The module already caught this fault and lost it again, which means a static bench test is guaranteed to pass and the freeze frame is your test procedure.

Low severityPowertrainFuel & AirDrivable short-term

Quick facts

System
Powertrain
Category
Fuel & Air
Severity
Low severity
Drivable
Usually safe to drive short-term
Repair cost range
$0$420
DIY difficulty
Beginner DIY

What does P0099 mean?

P0099 is stored when the second intake air temperature sensor's signal jumps, drops out, or behaves in a way the module cannot reconcile with a real temperature — not once, but enough times within a monitoring window to count as a pattern rather than noise.

The qualifier in the title deserves more attention than it usually gets, because it is the most actionable part of the code. A fault sitting permanently at a rail sets a circuit low or circuit high code. A signal that is steady but wrong sets a range or performance code. This code exists specifically for the case where the signal was valid, went invalid, and came back. That has a direct consequence for how you work on it: the circuit is, by definition, working correctly right now. Unplugging the sensor on the bench and measuring its resistance will produce a number within specification, and that result tells you almost nothing. People chase this code with a multimeter for an hour and conclude nothing is wrong, which is exactly what the code already said.

What you have instead is the freeze frame, and here it functions as a specification rather than a curiosity. Whatever the module recorded at the moment the fault stored — engine speed, load, coolant temperature, vehicle speed, ambient conditions, time since start — describes the state the vehicle was in when the circuit dropped out. Reproducing those conditions with live data streaming is the test. If the fault appeared at 40 mph with the engine warm on a wet morning, testing it stationary in a dry workshop is not a fair attempt.

The physical test that pays best is a wiggle test with the data live and the reading on screen, and the place to concentrate is narrow. The sensor is a two-wire thermistor with fine leads, and those leads flex where they leave the connector body. Move the connector, then the first hand's length of pigtail, then the harness behind it, one section at a time, and watch for the temperature reading to twitch. A fault you can provoke by hand is a fault you have located.

There is one cause that is disproportionately common and that no amount of electrical testing will reveal, so it belongs at the top of the list: the sensor was recently disturbed. This sensor sits in the charge pipe, the intercooler plumbing or the air box, which is the exact area opened for an air filter change, an intercooler hose, a turbo, or a manifold. A connector pushed on but not latched, or a pipe clamp that has let a hose move slightly, produces a textbook intermittent that starts days after the work and has nothing to do with the sensor. Ask what was done to the vehicle recently before reaching for a meter.

Finally, a mechanism specific to a sensor mounted in a pressurised, heat-cycled pipe. Once a connector seal has been disturbed or has hardened with age, each heat cycle draws moist air past it. The corrosion that results does not break the circuit cleanly — it raises resistance a little, and it does so more in damp weather than dry. That is why so many of these faults are reported as appearing in the rain and vanishing when the car reaches a workshop.

Common causes

  • Connector pushed on but never latched after an air filter change, intercooler pipe removal or turbo work
  • Corroded terminals inside the sensor connector making contact that comes and goes with vibration and temperature
  • Fatigued or partly broken conductor in the sensor pigtail where it flexes out of the connector body
  • Hardened or displaced connector seal letting moisture in, producing a weather-dependent rising resistance
  • Chafed harness section rubbing against a charge pipe or bracket and shorting only under engine movement
  • Sensor element ageing so that it drops out under vibration while measuring correctly at rest
  • Poor shared ground for the sensor group, causing several readings to glitch at the same instant
  • Loose or spread terminal at the module connector on the signal or ground pin

Symptoms

  • Check engine light that appears and clears itself over successive drives with no consistent trigger
  • Intake air temperature reading on a scan tool that jumps to an implausible value and returns to normal
  • Brief hesitation or a momentary stumble that the driver notices for a second and then forgets
  • Fault reported far more often in wet weather than in dry
  • Slightly inconsistent fuel economy with no other detectable problem
  • Occasional rough idle immediately after a cold start
  • No symptom at all beyond the stored code, which is the most common presentation
  • Other sensor readings glitching at the same instant on a recorded data trace, pointing at a shared ground

Diagnostic steps

  1. 1.Pull the freeze frame first and write down every value in it. Those conditions are the specification for the road test, not background information.
  2. 2.Do not rely on a static resistance check. The code is telling you the circuit passes when measured, so a good bench reading confirms nothing.
  3. 3.Ask what work has been done recently on the air intake, intercooler plumbing, air filter or turbo, since a half-latched connector after unrelated work is the leading cause.
  4. 4.Physically unlatch and relatch the sensor connector, feeling for the click, and inspect the terminals for corrosion or a backed-out pin.
  5. 5.Run a wiggle test with live data on screen, working from the connector body outward along the pigtail and then the harness, one section at a time.
  6. 6.Record a data log covering the freeze frame conditions and look for the exact moment the reading steps rather than drifts.
  7. 7.Check whether other sensors sharing the same ground glitch at the same instant in the log, which redirects the diagnosis from the sensor to the ground point.
  8. 8.Inspect the connector seal and the mating face for moisture, and correlate the fault history against wet weather.
  9. 9.Back-probe the signal and ground at the module connector during a road test if the wiggle test at the sensor produces nothing, to determine which end the dropout is at.
  10. 10.After repair, drive the vehicle through the freeze frame conditions repeatedly and confirm the monitor completes without the code returning.

Repair cost

$0$420

The cost floor here is genuinely zero, and it is a common outcome — a connector pushed properly home after someone left it half-latched during a filter change fixes the fault with no parts and no labour. Diagnosis is $110 to $180, and it is worth more on this code than on most because the work is a road test with data rather than a bench measurement. A connector or terminal repair is $60 to $180. A pigtail or short harness section repair is $120 to $320. The sensor itself is $20 to $90 for the part with $40 to $150 labour depending on where it sits in the charge plumbing. Because the fault is intermittent, expect an honest shop to ask for the vehicle long enough to reproduce it rather than quoting a part on the first visit.

Estimate your repair

Run the numbers for your vehicle

Open the Repair Cost Estimator with intake air temperature sensor replacement preselected. Adjust labor rate and vehicle category to fit your situation.

DIY vs shop

This is a beginner-friendly repair. Common hand tools, a free afternoon, and a willingness to follow a procedure are usually enough. The risk of causing a bigger problem is low if you read up on your specific vehicle first.

Related codes

Frequently asked questions

I tested the sensor and it reads perfectly. What now?

That result is expected and it is not a dead end. This code is specifically the one the module stores when a circuit works, fails briefly, and works again — so a static measurement passing is the code being confirmed rather than contradicted. Switch approach entirely: get the freeze frame, reproduce those driving conditions with live data recording, and wiggle-test the connector and pigtail while watching the reading. The fault has to be provoked to be found, and the tool that finds it is a data trace, not a resistance reading.

Why does it only happen when it rains?

Because the failure is most likely a resistance that rises with moisture rather than a clean break. Once a connector seal has hardened with age or been disturbed during other work, the heat cycling of a charge pipe pumps damp air past it, and the corrosion that forms behaves like a variable resistor rather than an open circuit. Damp raises that resistance enough for the module to notice; a warm dry workshop lowers it enough that everything measures fine. If the pattern is that consistent, tell whoever is diagnosing it — a weather correlation points straight at a seal and a connector rather than at the sensor.

Is it safe to keep driving?

Generally yes. This sensor trims fuelling and timing rather than controlling anything critical, and when the signal drops out the module falls back on a substitute value derived from other inputs. Most drivers notice nothing beyond the light, possibly with a brief hesitation now and then and slightly inconsistent economy. The reasons not to ignore it indefinitely are that the light masks anything more serious that might set later, and that the underlying cause is usually a connector or a chafing harness that will get worse rather than better. It is a fix-it-when-convenient code, not a stop-driving one.

Could this have been caused by an air filter change?

It is one of the most common origins of the code. The second intake air temperature sensor lives in the charge plumbing or air box, right where someone has to reach to change a filter, remove an intercooler hose, or work on a turbo. A connector that is pushed on far enough to look right but never actually latched will hold contact for days or weeks and then start dropping out under vibration. It costs nothing to check: unplug it deliberately, look at the terminals, and push it back until you hear and feel the latch engage. That single action resolves a surprising share of these.

Editorial context

About This Diagnostic Information

AutoLogicTools diagnostic guides explain OBD-II trouble codes using recognized code definitions, standard automotive diagnostic principles, and practical automotive context. A trouble code records a condition detected by a control module. It does not automatically identify a failed part, and the right diagnostic procedure can vary by vehicle.

Manufacturer service information, technical service bulletins, wiring diagrams, and vehicle-specific procedures should take precedence when available.

AutoLogicTools was founded by Vincent Fisk, an automotive locksmith and shop owner in San Diego with hands-on experience in vehicle keys, immobilizer systems, electrical issues, modules, programming, and diagnostics.