P0446 on 2014-2021 BMW 2-Series: EVAP Vent Circuit Malfunction Causes and Fixes
For a 2014-2021 BMW 2-Series, code P0446 is most often caused by a faulty Fuel Tank Vent Valve (also called a purge valve) located in the engine bay. This is a relatively inexpensive part (~$70-$150) and is easy to replace, often resolving rough idle issues that can occur after refueling. The second most likely cause is a failed DMTL pump near the rear wheel.
- P0446 on a 2014-2021 2-Series most likely points to a bad Fuel Tank Vent Valve in the engine bay.
- Symptoms often include a rough idle after refueling, in addition to the Check Engine Light.
- Before buying parts, first check that the gas cap is tight and its seal is not cracked.
- Replacing the Fuel Tank Vent Valve is a simple DIY job that can be done in under 30 minutes with basic tools.
- If the vent valve doesn't fix the issue, the next most likely culprit is the DMTL pump, located near the rear wheel.
What's Unique About the 2014-2021 BMW 2-Series
BMW utilizes a specific component called the Fuel Tank Vent Valve (often located in the engine bay) and a Diagnostic Module Tank Leakage (DMTL) pump near the rear wheel for its EVAP system tests. While many cars have a simple vent solenoid near the charcoal canister, the P0446 code on an F22/F23 2-Series frequently points to the engine-mounted vent valve, which can also cause noticeable rough idle symptoms when it fails—a symptom less common for this code on other makes. The BMW-specific fault codes that often accompany P0446 are 191C02 and 190F08.
Symptoms You May Notice
- Check Engine Light is on
- Rough, stumbling, or dipping idle, particularly after filling the gas tank 🎬 Watch: Fixing rough idle and starting issues on the B58 engine.
- Engine stalls briefly then recovers after refueling
- Fuel pump nozzle clicks off frequently when refueling
- A slight fuel odor near the rear of the vehicle
- Audible clicking from the engine bay vent valve that is erratic or louder than usual
- Replacing the gas cap when the actual fault lies with the Fuel Tank Vent Valve. While a cheap first step, the vent valve is a much more common cause for P0446 on this platform.
- Assuming the vent valve is good because it clicks when activated by a scan tool. Some owners report that even a valve that actuates can fail to seal properly, causing the code to persist until the valve is replaced.
Most Likely Causes
- Faulty Fuel Tank Vent Valve (TEV/Purge Valve) 🔴 High Probability This solenoid valve is a very common failure item on modern BMWs across many models. It can become sticky, fail to seal, or fail electrically over time, leading to both EVAP codes and rough idle. It is easily accessible on top of the engine.
How to confirm: The valve is located in the engine bay, on top of the intake manifold. With the engine running, you can listen for erratic clicking. A more definitive test is to use a capable scan tool to command the valve to open and close to test its function; a healthy valve will click audibly. You can also remove the valve and attempt to blow through it; if air passes, it has failed internally.
Typical fix: Replacement of the Fuel Tank Vent Valve. This is a simple DIY repair (often under 10-15 minutes) involving disconnecting two hoses and an electrical connector. 🎬 See this step-by-step vent valve replacement walkthrough for B58 engines.
Est. part cost: $70-$150 - Faulty DMTL Pump 🟡 Medium Probability The Diagnostic Module Tank Leakage (DMTL) pump is a known failure point on BMWs. It contains a small motor and valve to pressurize the system for leak checks, and this assembly can fail, causing a circuit code.
How to confirm: The pump is located behind the rear passenger-side wheel well liner. A BMW-specific scan tool can run a DMTL test cycle. You can also supply 12V power directly to the pump to see if the motor runs. Access requires lifting the car and removing the wheel and liner.
Typical fix: Replace the DMTL pump assembly. This requires lifting the vehicle and removing the wheel and fender liner for access. 🎬 Watch: How to diagnose and fix BMW DMTL pump fault codes.
Est. part cost: $100-$240 - Loose or Faulty Gas Cap ⚪ Low Probability While more likely to cause a 'gross leak' code (P0455), a gas cap with a degraded seal can sometimes contribute to vent system faults. However, for P0446, this is rarely the root cause on a BMW.
How to confirm: Ensure the gas cap is tightened until it clicks at least once. Inspect the rubber O-ring for cracks, brittleness, or damage. A cracked O-ring is a clear sign it needs replacement.
Typical fix: Tighten or replace the gas cap.
Est. part cost: $25-$50 - Clogged or Damaged Charcoal Canister ⚪ Low Probability Consistently over-filling the fuel tank after the pump clicks off can force raw fuel into the charcoal canister, saturating it and causing a blockage that triggers a vent fault.
How to confirm: Visually inspect the canister (located near the DMTL pump) for physical damage or signs of fuel saturation. Diagnosis is typically performed after the vent valve and DMTL pump have been ruled out. A smoke test can reveal a blocked canister.
Typical fix: Replacement of the charcoal canister.
Est. part cost: $200-$350
Rare But Worth Checking
- Damaged Wiring or Hoses: Check the wiring harnesses and connectors for both the engine bay vent valve and the rear DMTL pump. Look for corrosion, chafing, or breaks. A user on Bimmerpost reported their issue was caused by a mouse chewing wires. Also inspect the rubber and plastic EVAP hoses for cracks or disconnection, especially the plastic connectors which can become brittle.
Diagnosis Steps
- Read the codes with an OBD-II scanner. Note both the generic P-codes (like P0446) and any BMW-specific codes (like 191C02).
- Inspect the gas cap. Ensure it is tight and the seal is not cracked or worn. If in doubt, replace it, but be aware it's an unlikely fix.
- Locate the Fuel Tank Vent Valve in the engine bay, typically on top of the engine cover or intake manifold. Visually inspect its connector and hoses for damage.
- With the engine idling, listen to the valve. A healthy valve may have a soft, rhythmic tick, but erratic or loud clicking can indicate failure.
- Use a capable scan tool to command the EVAP vent valve to activate. Listen for a distinct click. No click suggests an electrical or mechanical failure of the valve. However, even if it clicks, it may still be faulty.
- Real-World Test: Many owners fix the issue by simply replacing the Fuel Tank Vent Valve, as it is the most common cause by a wide margin and a relatively inexpensive part.
- If the engine bay valve is replaced and the code returns, raise the vehicle and remove the rear passenger-side wheel and fender liner to access the DMTL pump and charcoal canister.
- Inspect the wiring and hoses connected to the DMTL pump and canister for any signs of damage, including rodent damage.
- A smoke test is the most effective professional method to find cracks in hoses or a faulty canister if a leak is suspected but not visible.
Parts You'll Likely Need
- Fuel Tank Vent Valve (Purge Valve)
(OEM #13907636156 (For N55 Engine), 13907643106 (For B46/B58 Engines))— This is the most frequent failure point for code P0446 on this platform, causing both the check engine light and potential idle issues. Part number varies by engine.
Trusted brands: Bosch, Genuine BMW
OEM price range: $100-$150
Aftermarket price range: $70-$110 - DMTL Pump
(OEM #16137333302)— The second most common cause. The pump's internal motor or valve fails, preventing the EVAP system from performing its self-test correctly.
Trusted brands: Bosch, URO Parts, Genuine BMW
OEM price range: $180-$240
Aftermarket price range: $60-$160
Related Codes That Often Appear With This One
- P0440 — Evaporative Emission System Malfunction. This is a general EVAP system code that often appears alongside the more specific P0446.
- P0455 — Gross Leak Detected. If the vent valve is stuck open, the system will fail the leak test and register a large leak in addition to the circuit fault.
- 191C02 / 190F08 — These are BMW-specific fault codes for 'Tank Ventilation System Malfunction' that directly correspond to the generic P0446/P0440 codes and strongly point towards the fuel tank vent valve.
Technical Service Bulletins (TSBs) & Recalls
- SI B13 02 12 - For F10 models with the N20 engine, addresses fault code 191C02 by recommending replacement of the fuel tank ventilation valve, the inlet breather line, and the suction jet pump due to system contamination.
- BMW TSB Number: SIB 01 02 24 - This manufacturer bulletin is noted in NHTSA records as relevant to vehicles experiencing P0446 and P0172 codes, often requiring diagnostic review by a technician.
Platform-Specific Known Issues
- The Fuel Tank Vent Valve part number differs between the earlier N55 engine and the later B46/B58 engines. N55 (M235i) typically uses 13907636156, while the B46 (230i) and B58 (M240i) use 13907643106.
- The rough idle or stall after refueling is a very specific and common symptom for a failed vent valve on this platform, as reported by numerous owners in forums.
Mechanic-Grade Diagnostic Values
- Fuel Tank Vent Valve (Purge Valve) Coil Resistance — expected: ~28-29 Ohms. Failure: A reading significantly higher than 29 Ohms indicates a faulty valve coil.
- Fuel Tank Vent Valve Power Supply (at connector, B58 engine) — expected: Static Battery Voltage. Failure: No voltage indicates a wiring or fuse issue upstream of the valve.
- Fuel Tank Vent Valve Activation Signal (at connector, B58 engine) — expected: Dynamic signal, 0V to Battery Voltage (PWM signal). Failure: No signal change when the valve is commanded on via a scan tool suggests a DME or wiring fault.
Hidden / Shadow Codes Worth Checking
- 191C02: Tank ventilation system, second inlet/discharge point: malfunction. This code often points to an issue with the venturi (suction jet pump) line connected to the main tank vent valve line, especially on N20 engines. (see via BMW-specific scan tool like ISTA or a capable aftermarket tool like BimmerLink.)
- 190F08: Tank Ventilation System: Malfunction. This is a more general BMW-specific code that frequently accompanies P0446 and 191C02, strongly indicating a fault with the engine-bay-mounted fuel tank vent valve. (see via BMW-specific scan tool like ISTA or a capable aftermarket tool.)
Scan Tool Commands That Help
- ISTA (BMW Dealer Software): Component Triggering: DMTL Motor — To directly test if the DMTL pump's motor will run. You should hear the pump activate when triggered. This confirms the motor and its power/ground circuit are functional.
- ISTA (BMW Dealer Software): Component Triggering: DMTL Changeover Valve — To test the solenoid valve inside the DMTL pump assembly. You should hear a click when activated. This isolates the valve's electrical circuit.
- ISTA (BMW Dealer Software): ABL (Test Plan) for Fuel Tank Leakage Diagnostic Module (DMTL) — This is a guided diagnostic routine that runs a full system test. It performs a reference leak check on the pump itself, then pressurizes the fuel system to check for major and minor leaks. It can help confirm a fix or identify leaks that are not obvious.
Wiring & Ground Locations
- A46*5B, Pin 16 — On the DME (Engine Computer) for the B58 engine.. This is the specific pin that sends the activation signal to the Fuel Tank Vent Valve. A technician can test for a signal here to determine if a fault is in the DME or the wiring to the valve.
- A46*2B, Pin 1 — On the DME (Engine Computer) for the B58 engine.. This pin provides the power supply for the Fuel Tank Vent Valve. Checking for battery voltage here can quickly diagnose a power-side wiring issue.
- Main Engine Ground Strap — Typically runs from the engine block or transmission housing to the vehicle's chassis/body.. While not specific to P0446, a corroded or loose main ground strap can cause a wide range of seemingly unrelated electrical faults and codes. It's a foundational check for any electrical diagnosis.
Real Owner Repair Stories
- 2Addicts forum user 'kennungesser' (2017 M240i xDrive (B58 engine), 40,674 miles) — Check Engine Light with codes 191C02 and 190F08, rough idle after refueling.
❌ Tried (didn't work) Waiting for the intermittent light to go out.
✅ What actually fixed it Replaced the Fuel Tank Breather Valve (PN 13907643106). The owner noted a significant improvement in startup, idle, and throttle response, suggesting the old part was failing gradually. - F30Post forum user 'hollovoid7' (BMW 3-Series/4-Series (F30/F32 platform)) — Check Engine Light with codes 191C02, 190F08, 195014, and P0440.
❌ Tried (didn't work) Replacing the gas cap., Replacing the Fuel Tank Vent Valve (this fixed some codes, but 191C02 remained)., Blowing compressed air through the venturi line.
✅ What actually fixed it Replaced the small plastic venturi piece that connects to the tank vent valve line and the second inlet sensor. This finally cleared the persistent 191C02 code. - YouTube creator 'B58 F32' (2017 BMW 440i (B58 engine), 50,000 miles) — Check Engine Light with codes 190F08 and 191C02, occasional rough idle.
✅ What actually fixed it Replaced the Fuel Tank Breather Valve (PN 13907643106). After clearing the codes, the issue did not return. - NHTSA ODI #11697141 — An owner reported that their vehicle was able to restart after several attempts, and a subsequent scan retrieved DTCs P0172 and P0446. An independent mechanic advised the contact regarding the failure.
OEM Part Supersession History
13907636156→13902366609— Standard part revision/update by BMW.
Heads up: These parts are for the N55 engine and are generally interchangeable.13907645860→13907643106— Standard part revision/update by BMW.
Heads up: These parts are for B46/B58 engines. The newer part number should always be used.
Model Year Variations Within This Range
- 2014-2016 (N20/N55 Engines): Uses Fuel Tank Vent Valve P/N 13907636156 (or its successor). The N20 engine, in particular, has a TSB related to a secondary suction jet pump that can cause EVAP codes.
- 2017-2021 (B46/B58 Engines): Uses Fuel Tank Vent Valve P/N 13907643106. The physical part and its connections are different from the earlier N-series engines.
Diagnostic Flowchart
Other Known Issues on This Vehicle
Issues unrelated to this code that are worth knowing about as an owner of this generation:
- N20 Engine Timing Chain Guide Failure 🔴 High — Common on pre-2015 models, typically presenting from 60,000-100,000 miles. A high-pitched whining noise is the primary warning sign. Failure can cause catastrophic engine damage. (Ref: BMW issued an extended warranty (SI B11 03 13) for this issue on certain models, but it may have expired.)
- N55/B58 Plastic Charge Pipe Failure 🟠 Medium — The factory plastic charge pipe is prone to cracking or breaking, especially on tuned cars or at higher mileage, causing a sudden loss of boost. It is considered a preventative maintenance upgrade by many enthusiasts.
- Oil Filter Housing Gasket / Valve Cover Gasket Leaks 🟠 Medium — Common across most BMW engines of this era (N20, N55, B58). Gaskets become brittle with heat and time, leading to oil leaks, often noticeable by a burning oil smell as it drips onto hot exhaust components.
- Electric Water Pump Failure 🔴 High — The electric water pump can fail without warning, typically between 60,000 and 80,000 miles, leading to rapid engine overheating and potential for severe damage if not addressed immediately.
- B58 PCV System Failure 🟠 Medium — The PCV diaphragm, integrated into the valve cover, can tear. Symptoms include a whistling/hissing noise, rough idle, excessive oil consumption, and smoke from the exhaust. The entire valve cover must be replaced.
Used vs. New Parts: Buying Guide for This Vehicle
When a used part is the smart pick: For EVAP system components like the vent valve and DMTL pump, buying used is generally not recommended. Both are common failure items with internal moving parts (solenoids, motors) that wear out. The cost savings are minimal compared to the risk of receiving a part that has already failed or has limited life remaining.
Donor-vehicle mileage cap: roughly under 40000 miles for the part to have meaningful remaining life.
What to inspect on the donor part:
- For a DMTL pump, inspect for heavy corrosion on the housing or electrical pins.
- For a vent valve, check for brittle plastic or cracked hose connectors.
- Verify the part number matches your vehicle's engine type (N55 vs B58).
- Ask for the donor vehicle's mileage if possible.
OEM-only on this vehicle (don't cheap out):
- No parts for this specific repair are considered 'OEM-only'.
Aftermarket brands forum-validated for this vehicle:
- Bosch (This is the Original Equipment Manufacturer for both the vent valve and DMTL pump; buying the Bosch-branded part is equivalent to Genuine BMW but often cheaper).
Brands owners have reported issues with on this vehicle:
- No specific brands were consistently reported as problematic in owner forums for this repair.
Real Owner Stories
Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.
2017 BMW M240i (B58)
Symptoms: P0446 code appeared. The dealer initially blamed the gas cap, but the check engine light returned shortly after.
What fixed it: Replacement of the fuel tank vent valve.
Source hint: https://www.2addicts.com/forums/showthread.php?t=1910269
2016-2019 BMW 440i (B58)
Symptoms: P0446 and P0440 codes. The owner tested the old vent valve and it seemed to function, but the codes persisted.
What fixed it: Replacing the fuel tank vent valve resolved the issue, indicating the old valve was failing intermittently or not sealing properly.
Source hint: https://f30.bimmerpost.com/forums/showthread.php?t=1909013
2016-2019 BMW 340i (B58)
Symptoms: P0446 code present.
What fixed it: The dealer diagnosed and replaced the 'gas tank evap valve' under warranty.
Source hint: https://f30.bimmerpost.com/forums/showthread.php?t=1779326
NHTSA Reported Incident
Symptoms: An owner reported that the vehicle was able to restart after several attempts. A diagnostic scan revealed DTCs P0172 and P0446.
What fixed it: An independent mechanic provided advice on the failure, which the contact related to BMW TSB Number: SIB 01 02 24.
Source hint: NHTSA ODI #11697141
Related OBD-II Codes
Frequently Asked Questions
My M240i (B58) is throwing P0446; is the part the same as the older M235i (N55)?
Does TSB SI B13 02 12 apply to my 2-Series with the N20 engine?
Why does my 2-Series stumble or stall only after I fill up at the gas station?
The dealer says my P0446 code is just a loose gas cap. Is that likely on a 2014-2021 2-Series?
Where is the DMTL pump located on the 2-Series if the engine bay valve doesn't fix the code?
Can I test the Fuel Tank Vent Valve myself before buying a new one?
Helpful Videos
We Have This Part in Stock
The information in this article is provided for general reference and educational purposes only. Vehicle specifications, procedures, and part compatibility can vary by production date, trim level, and region. Always consult your vehicle's factory service manual and verify part numbers before purchasing or performing repairs. Safety-critical components such as airbags, seat belts, and braking systems should be installed by a qualified professional.
- BMW 2-Series:
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2014-2021 BMW 2-Series
- Symptoms You May Notice
- Most Likely Causes
- Rare But Worth Checking
- Diagnosis Steps
- Parts You'll Likely Need
- Related Codes That Often Appear With This One
- Technical Service Bulletins (TSBs) & Recalls
- Platform-Specific Known Issues
- Mechanic-Grade Diagnostic Values
- Hidden / Shadow Codes Worth Checking
- Scan Tool Commands That Help
- Wiring & Ground Locations
- Real Owner Repair Stories
- OEM Part Supersession History
- Model Year Variations Within This Range
- Diagnostic Flowchart
- Other Known Issues on This Vehicle
- Used vs. New Parts: Buying Guide for This Vehicle
- Real Owner Stories
- 2017 BMW M240i (B58)
- 2016-2019 BMW 440i (B58)
- 2016-2019 BMW 340i (B58)
- NHTSA Reported Incident
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off