P0104: Intermittent MAF Circuit Fault
P0104 Code: MAF Circuit Intermittent Causes & Fixes. See symptoms, common causes, urgency and practical checks before parts are replaced.

Save all codes and freeze-frame data. The code tells you what the control module detected, not which component must be replaced.
Quick answer
The P0104 code means the engine control module (ECM) detected an intermittent issue in the mass airflow (MAF) sensor's circuit. This typically indicates a loose connection, damaged wiring, or a failing MAF sensor that briefly loses signal rather than failing completely.
Why the P0104 Code Means an Intermittent MAF Circuit
The MAF sensor measures the volume and density of air entering the engine, sending a voltage signal to the ECM to adjust fuel delivery. A P0104 code is triggered when this signal drops in and out unpredictably; unlike a steady P0101 (MAF Circuit Range/Performance) or P0102 (MAF Circuit Low Input), which reflect continuous faults. The ECM flags P0104 specifically when it sees the MAF signal fluctuate outside expected parameters for short, irregular periods, then return to normal, suggesting a connection or sensor stability problem rather than a hard failure.
In most cases, the intermittency stems from one of three areas: the sensor's internal circuitry degrading (common in older or contaminated MAF sensors), the 5-volt reference or ground wire losing contact due to vibration or corrosion, or the signal wire chafing against engine components and shorting intermittently. The ECM monitors the MAF voltage continuously; when the signal jumps erratically or drops to zero for a fraction of a second before recovering, it logs P0104. This code is often seen alongside P0100 (MAF Circuit Malfunction) if the issue persists, but P0104 specifically targets the on-again, off-again nature of the fault.
Diagnostically, the intermittency can make P0104 tricky to pinpoint. A scan tool may show the MAF voltage reading spike or drop during a test drive, particularly over bumps or at specific engine loads, confirming the circuit's instability. Unlike a dead MAF sensor (which would set a P0102 or P0103), the engine may run fine for stretches before stumbling or hesitating when the signal cuts out. The ECM's ability to detect these brief anomalies is what separates P0104 from other MAF-related codes, making it a clear indicator of a connection or sensor reliability issue rather than a calibration or performance problem.
Common Symptoms of an Intermittent MAF Circuit
Symptoms of P0104 often appear only under specific conditions. At idle, the engine may run smoothly most of the time but occasionally surge or stall as the MAF signal briefly fails. During acceleration, a sudden loss of power or hesitation can occur when the signal drops, as the ECM momentarily switches to a default fuel map. On the highway, the check engine light may flicker or stay illuminated if the fault is frequent enough. These symptoms occur because the ECM relies on accurate MAF data to balance air-fuel ratios; when the signal is unreliable, fuel delivery becomes inconsistent.
Typical Causes and How to Confirm Them
Common causes include a damaged MAF sensor, corroded or loose electrical connectors, or frayed wiring in the MAF circuit. To confirm, inspect the wiring harness for damage, clean the MAF sensor with specialized cleaner (avoiding compressed air, which can ruin the element), and check for secure connections at the sensor and ECM. If the code returns after these steps, the MAF sensor itself may need replacement. Repairs typically range from $150 to $400 depending on the cause; see the full P0104 repair cost guide for a detailed breakdown.
Can You Still Drive With Code P0104?
Driving with P0104 is generally possible in the short term, but prolonged operation can lead to poor fuel economy, drivability issues, or even catalytic converter damage if the engine runs too rich or lean for extended periods. If the symptoms include severe hesitation or stalling, address the issue promptly to avoid being stranded.
Details that improve the diagnosis
Compare the reported value with engine temperature, barometric pressure, throttle position and related sensors. A signal that is electrically valid can still be implausible. Fuel trims at idle and at a steady higher speed help separate an intake leak from a fuel-delivery or measurement problem.
Before clearing anything, record whether the code is current, pending, history or permanent. Save companion codes and freeze-frame conditions, then note recent repairs, a weak battery, weather changes and the exact moment the symptom appears. After a confirmed repair, clear only the erasable codes and complete the appropriate drive cycle. A permanent code normally clears only after the onboard monitor verifies that the fault is gone.
Related trouble codes
Information to record before any repair
Write down the exact code, its status and every companion code reported by a complete vehicle scan. Save the freeze-frame values, including engine speed, load, coolant temperature, vehicle speed, battery voltage and fuel trims when available. Note whether the warning appeared during a cold start, at idle, under acceleration, after refueling, in wet weather or immediately after other work. These details help separate an intermittent electrical problem from a repeatable mechanical or operating-condition fault.
Identify the exact year, make, model, engine, transmission and market version before using a wiring diagram or specification. Connector pinouts, monitor thresholds, component locations and test procedures can change within the same model line. Check current manufacturer service information and relevant technical service bulletins. A bulletin can improve the test sequence, but it should not be treated as proof that the same fault exists on every vehicle.
How to verify the repair
A warning light that stays off immediately after codes are cleared does not by itself confirm a repair. Recheck live data, repeat the operating condition that originally set the code when it is safe to do so, and confirm that no pending code returns. Some monitors need a specific drive cycle before they run. Permanent codes are normally removed by the control module only after it sees enough successful monitor results. If symptoms remain or the code returns, continue testing instead of replacing another part by guesswork.