P0099

Intake Air Temperature Sensor 2 Circuit Intermittent/Erratic Bank 1

P0099 is a generic OBD-II powertrain diagnostic trouble code: Intake Air Temperature Sensor 2 Circuit Intermittent/Erratic Bank 1. It is logged by the engine control unit when the powertrain monitor detects that a specific fault threshold has been exceeded — typically resulting in the malfunction-indicator lamp (MIL / check-engine light) being illuminated.

Code
P0099
Group
Powertrain
System
Powertrain
Severity
Warning (MIL on)
Need P0099 disabled?
RaceTune permanently disables any OBD-II trouble code on supported ECUs — for motorsport, off-road, and export use.

What P0099 means

P0099 is stored when the engine control module (ECM) detects that the signal from the Bank 1 intake air temperature sensor 2 (IAT2) is dropping in and out, spiking, or fluctuating in an unpredictable manner that does not correspond to actual engine or ambient conditions. IAT2 is positioned downstream of the first IAT sensor — typically after the intercooler or in the intake manifold — and provides the ECM with a more refined air-charge temperature reading used for fuel trim, ignition timing, and emissions calculations. Unlike the hard out-of-range faults captured by the High and Low variant codes, P0099 indicates an intermittent or erratic signal, meaning the sensor periodically reads within range but at other times deviates abnormally or drops out entirely. Because the fault is not continuous, the ECM cannot definitively classify it as high or low; instead it flags the instability itself. The most frequent trigger is a disturbed electrical connection — from a connector left unplugged after air filter service, corrosion at the sensor terminal, or a wire harness that flexes and breaks contact with vibration. A failed or internally degrading sensor element can also produce erratic output. If left unaddressed, the ECM may apply incorrect fuelling and timing corrections, increasing emissions, reducing fuel economy, and in turbocharged applications potentially causing boost management issues.

Common causes

Most-frequently reported root causes when P0099 is logged.

  • 1
    IAT2 sensor connector left disconnected after air filter replacement or service
  • 2
    Corrosion, oxidation, or moisture intrusion at the sensor electrical connector
  • 3
    Chafed, cracked, or intermittently open wiring in the IAT2 sensor harness
  • 4
    Faulty or internally degrading IAT2 sensor producing erratic resistance output
  • 5
    Poor ground connection to the IAT2 sensor or ECM sensor reference circuit
  • 6
    Cracked or loose air intake duct creating turbulent airflow that causes real temperature spikes mimicking sensor faults
  • 7
    Intermittent ECM 5 V reference voltage fault on the sensor signal circuit

Symptoms drivers notice

Check engine light (MIL) illuminated, often intermittently as fault comes and goes
Slight reduction in fuel economy due to incorrect air-charge temperature compensation
Hesitation or rough running during acceleration, particularly on turbocharged engines
Possible erratic idle quality when sensor is actively mis-reading
No noticeable driveability symptoms in mild cases when the sensor reads correctly most of the time

How to diagnose P0099

A typical diagnostic flow when this code is present.

  1. 1
    Connect a scan tool, confirm P0099 is stored, and record freeze-frame data (RPM, load, temperature) to understand which operating conditions trigger the fault
  2. 2
    Perform a thorough visual inspection of the IAT2 sensor connector and wiring harness for corrosion, moisture, backed-out pins, or chafing against hot or moving components
  3. 3
    Perform a wiggle test on the sensor connector and harness with the engine running while monitoring the live IAT2 signal; a sudden drop or spike in the reading pinpoints a loose connection
  4. 4
    Disconnect the IAT2 connector and verify the signal drops to below -40 °C (open-circuit reference); then short the two signal wires together and verify the reading rises above 100 °C — deviations indicate ECM or wiring faults rather than the sensor
  5. 5
    Measure sensor resistance across its temperature range using the manufacturer's resistance-vs-temperature chart; a reading that is out of spec or unstable under light tap-testing confirms sensor failure
  6. 6
    Inspect intake ducting for cracks or loose clamps that could cause real temperature fluctuations that the sensor is correctly reporting
  7. 7
    Clear codes, road-test under freeze-frame conditions, and recheck; replace the IAT2 sensor if the fault recurs with no wiring fault found

Related powertrain codes

Frequently asked questions

Can I keep driving with a P0099 code?

Short-term driving is usually possible because the fault is intermittent and the ECM typically substitutes a default air-temperature value. However, this substitution degrades fuel economy and performance, and an underlying loose connector or damaged wire can worsen over time, potentially leading to harder faults or additional codes. Prompt diagnosis is recommended.

Why does P0099 set intermittently instead of as a hard fault?

Intermittent codes reflect marginal electrical conditions — a slightly corroded pin or a hairline wire fracture that makes and breaks contact with vibration or temperature changes. A fully failed sensor would instead produce a sustained out-of-range voltage that triggers the continuous high (P0097) or low (P0098) variant codes.

What is the difference between IAT sensor 1 and IAT sensor 2?

IAT sensor 1 is typically located in the air filter housing or MAF sensor body and measures ambient incoming air temperature before the turbocharger or supercharger. IAT sensor 2 is positioned further downstream — usually after the intercooler or in the intake manifold — and provides the ECM with a more accurate reading of the actual air-charge temperature entering the cylinders.

How much does it cost to fix P0099?

If the fault is a corroded connector or a displaced terminal pin, the repair can cost as little as $30–$80 for cleaning and reseating. Replacing the IAT2 sensor typically costs $20–$80 for the part plus 0.5–1 hour of labour, totalling $70–$180 depending on the vehicle and workshop rates. Wiring harness repairs fall in the $100–$300 range if extensive rerouting is required.

Disabling P0099 in software

RaceTune can permanently disable P0099 — and any other OBD-II diagnostic trouble code — on every ECU family we support. The monitor is disabled inside the ECU itself, so the fault stops being logged: the warning light stays off and the engine never enters limp mode for this code. The change is tied to your exact software version.

Permanent
The monitor is disabled in the ECU itself — not just cleared. It cannot return.
Tailored to your file
Each patch is matched to your specific software version — never a one-size-fits-all file.
Reversible
The original file is always preserved. Reflash the stock to return the ECU to factory state.

Software modifications affect emissions compliance and are not road-legal in many jurisdictions. RaceTune service files are intended for motorsport, off-road, and export use.

Got P0099 in your scan?

Upload your ECU file — we'll identify the exact software version and confirm whether a disable is available for your car.

Upload your file