P0446 on 2016-2022 BMW X1: EVAP Vent Circuit Causes and Fixes
On the 2016-2022 BMW X1 (F48), code P0446 is almost always caused by a failed Fuel Tank Breather Valve (also called a purge valve) located in the engine bay. It's an inexpensive part (around $50-$120) and is extremely easy to replace in under 10 minutes with no special tools.
- For code P0446 on a 2016-2022 X1, the problem is almost certainly the Fuel Tank Breather Valve in the engine bay, not a part at the rear of the car.
- This is a very easy and cheap DIY fix. The part (OEM #13907614013) costs around $50-$120 and can be replaced in minutes with no special tools.
- A key symptom of this specific failure is a rough running or stumbling engine for a few moments after a cold start or after filling the gas tank.
- Do not let a shop convince you to replace the more expensive DMTL pump or charcoal canister until you have first replaced the inexpensive breather valve under the hood.
- Check if your vehicle is covered by the extended warranty (SIB B010419) for this part, which could result in a free dealer repair.
What's Unique About the 2016-2022 BMW X1
While P0446 on many vehicles points to a vent valve or DMTL pump near the rear fuel tank and charcoal canister, the 2016-2022 (F48 generation) X1 has a very common failure point that is much easier to access. The issue is typically the engine-bay-mounted Fuel Tank Breather Valve (or purge valve). This part is known to fail frequently on BMWs with the B46/B48 engine, often getting stuck open due to a torn internal diaphragm. This specific knowledge can save owners significant time and money, as the correct fix is often a simple, 5-minute DIY replacement under the hood, not a complex repair at the rear of the vehicle.
Symptoms You May Notice
- Check Engine Light is on.
- Rough idle, stumbling, or fluctuating RPMs, especially right after refueling or during a cold start. 🎬 Learn why your engine might idle roughly after fueling up.
- No noticeable symptoms other than the Check Engine Light.
- Fuel pump nozzle clicks off repeatedly when trying to refuel (less common with this specific failure, more common with a stuck rear vent valve).
- Slight fuel odor near the rear of the vehicle.
- Replacing the DMTL pump or charcoal canister first. On the F48 X1, the most probable cause is the much cheaper and easier-to-access purge valve in the engine bay. Always start there.
- Replacing the gas cap. While a faulty gas cap can cause EVAP codes, it is not the typical cause for P0446 on this vehicle.
Most Likely Causes
- Faulty Fuel Tank Breather Valve (Purge Valve) 🔴 High Probability → Shop Fuel Tank This valve, located in the engine bay, is a very common failure point on BMW's B46 and B48 engines. It tends to get stuck open due to an internal diaphragm tearing, causing the EVAP system to report a fault. BMW acknowledged this with Service Information Bulletin (SIB) B010419, extending the warranty for this specific part.
How to confirm: Remove the valve from the engine bay. It should be normally closed. If you can blow or suck air through it, it has failed and needs to be replaced. A small endoscope camera can sometimes be used to look inside the port and see the torn diaphragm. Another test is to apply vacuum to the port; if it doesn't hold vacuum, it has failed.
Typical fix: Replace the Fuel Tank Breather Valve. The part is located on top of the engine under the plastic cover and is held in place by push-connect fittings and one electrical connector. Replacement takes less than 10 minutes and requires no special tools.
Est. part cost: $45-$120
Rare But Worth Checking
- Faulty DMTL Pump (Leak Detection Pump): → Shop Evaporative Emissions System Leak Detection Pump The DMTL (Diagnostic Module Tank Leakage) pump is located at the rear of the vehicle near the charcoal canister. It contains the traditional vent valve. While it can cause EVAP codes, it is a much less common failure point for P0446 on the F48 X1 compared to the engine-bay purge valve. If replacing the purge valve doesn't clear the code, this is the next component to investigate, possibly with a smoke test.
- Loose or Faulty Gas Cap: → Shop Fuel Tank Cap A loose or worn-out gas cap can cause various EVAP codes. Always ensure the cap is tightened until it clicks. While less common for P0446 specifically (more likely to cause a P0455 large leak code), it's a simple and free check to perform.
- Clogged EVAP Canister or Vent Hoses: → Shop Vapor Canister Dirt, debris, or insects can clog the vent hoses or the charcoal canister itself, leading to a venting malfunction. This is rare on this platform for this code and would require a more in-depth diagnosis, likely including a smoke test.
- Wiring Issue to the Purge Valve: → Shop Vapor Canister A damaged wire or corroded connector for the engine bay purge valve could cause a circuit malfunction code. A visual inspection of the harness and connector is recommended during replacement. A multimeter can be used to check for resistance (around 17 ohms is typical) and voltage at the connector.
Diagnosis Steps
- Read the fault code with an OBD-II scanner to confirm P0446 is present. Note any other accompanying codes like P0440 or 191C02.
- Check the gas cap to ensure it is tight and the seal is not cracked or worn.
- Locate the Fuel Tank Breather Valve (Purge Valve) in the engine bay, under the plastic engine cover. It sits on top of the engine.
- Disconnect the valve and test it. If air can pass through it by blowing or sucking, it is faulty 🎬 See how to test if your valve is stuck open. and has failed internally.
- Due to the extremely high failure rate and low cost, it is often more efficient to replace the Fuel Tank Breather Valve as the first step.
- Clear the codes with the scanner and perform a drive cycle. If the code does not return, the problem is solved.
- If the code returns, inspect the wiring and connector for the breather valve for any damage or corrosion.
- If the valve and its wiring are confirmed good, the next step is to investigate the DMTL pump and its associated hoses at the rear of the vehicle, which may require a smoke test to find leaks or blockages.
Parts You'll Likely Need
- Fuel Tank Breather Valve (Purge Valve)
(OEM #13907614013)— This is the most common failure part for code P0446 on the 2016-2022 BMW X1 with the B46 engine. It gets stuck open, causing the EVAP system to log a fault.
Trusted brands: Bosch (OEM supplier), Genuine BMW, Vemo
OEM price range: $80-$120
Aftermarket price range: $45-$75
Related Codes That Often Appear With This One
- P0440 — P0440 indicates a general EVAP system malfunction. It can appear alongside P0446 when the system fails its self-test due to the faulty vent valve.
- 191C02 — This is a BMW-specific fault code that often accompanies the generic P0446. It translates to "Tank ventilation system, valve: Malfunction," further pointing towards the breather/purge valve.
- P0171 — System Too Lean (Bank 1). A purge valve stuck open can create a vacuum leak, allowing un-metered air into the intake manifold, which can lead to a lean condition and this accompanying code.
Technical Service Bulletins (TSBs) & Recalls
- B010419 / SIB 01 04 19 - Covers a known issue with the fuel tank vent valve on 2016-2017 models with the B46O PZEV/SULEV engine, resulting in an extended warranty for that part to 10 years/120,000 miles or 15 years/150,000 miles in some states.
- SIB 01 02 24 - A manufacturer service bulletin noted in NHTSA ODI #11697141, where an owner reported that P0446 and P0172 were retrieved after the vehicle required several attempts to restart.
Platform-Specific Known Issues
- BMW issued SIB B010419 and extended the warranty to 10 years/120,000 miles for the fuel tank vent valve on certain 2016-2017 models, confirming it is a known defect. For vehicles registered in California or states following its regulations, the warranty was extended to 15 years/150,000 miles. Owners have received letters regarding this extended warranty and potential reimbursement for prior repairs.
Mechanic-Grade Diagnostic Values
- Fuel Tank Breather Valve (Purge Valve) voltage supply — expected: 12V with key on. Failure: No voltage at the connector could indicate a wiring or fuse issue upstream.
- Fuel Tank Breather Valve (Purge Valve) physical state — expected: Normally closed. Should hold vacuum and not allow air to pass when not energized.. Failure: If you can blow or suck air through the valve when it is disconnected, its internal diaphragm has failed.
Hidden / Shadow Codes Worth Checking
- 191C02: Tank ventilation system, valve: Malfunction. On some systems, this is described as 'second inlet point: malfunction'. This code points directly at the engine bay purge valve assembly. (see via BMW-specific scan tools like ISTA or advanced handhelds with BMW software (e.g., BimmerLink, Foxwell).)
- 190F08: Tank Vent system malfunction. A more general EVAP system code that often appears with 191C02 when the purge valve fails. (see via BMW-specific scan tools like ISTA or advanced handhelds with BMW software.)
- 194201: Diagnostic Module for Tank Leaks (NVLD) timer malfunction. Can appear in conjunction with other EVAP codes. (see via BMW-specific scan tools like ISTA.)
Scan Tool Commands That Help
- ISTA+: EVAP System Test Plan — When a fault code like P0446 or 191C02 is stored, ISTA can run a guided diagnostic test plan. This function will automatically command components like the purge valve and DMTL pump to activate and will measure the system's response to pinpoint the failure.
- ISTA+: Component Triggering / Call up ECU functions — This allows a technician to manually activate the fuel tank breather valve to listen for a click or observe its effect on the system, bypassing the automated test plan for more direct diagnosis.
Wiring & Ground Locations
- Fuel Tank Breather Valve Connector — On the valve itself, located on top of the B46 engine under the plastic cover.. This 2-pin connector provides power and ground to the valve solenoid. Corrosion or damage to the pins or wires at this connector can cause a P0446 circuit code. It should be inspected when replacing the valve.
- Main Engine Ground Strap — Typically connects the engine block (often near an engine mount) to the vehicle's chassis/frame rail in the engine bay.. While not a direct cause, a corroded or loose main engine ground can cause a wide range of seemingly unrelated electrical faults and error codes. If multiple electrical issues are present alongside P0446, inspecting the main ground strap for corrosion or looseness is a wise diagnostic step.
Real Owner Repair Stories
- Bimmerpost user 'rice_rocket88' (2016-2022 BMW X1 (F48)) — Check Engine Light with code P0446.
❌ Tried (didn't work) Resetting the code with a scanner (it came back immediately).
✅ What actually fixed it Replacing the engine-bay Fuel Tank Breather Valve (purge valve). The code was cleared and did not return after 4 days of driving. - Bimmerpost user (BMW X1 (F48)) — Check Engine Light, likely P0446.
❌ Tried (didn't work) Getting a diagnosis from the dealership.
✅ What actually fixed it An independent shop replaced the fuel tank vent valve for around $300. This fixed the issue, saving the owner from a ~$1000 dealership quote that unnecessarily included replacing the intake muffler. - 2Addicts forum user 'kennungesser' (2017 BMW M240i (B58 engine), 40,674 miles) — Check Engine Light with codes 191C02 and 190F08, rough idle after refueling.
❌ Tried (didn't work) Waiting for the code to clear on its own (it would disappear and then return).
✅ What actually fixed it Replaced the Fuel Tank Breather Valve (PN 13907643106). The owner reported a noticeable improvement in startup, idle, and throttle response, suggesting the old valve was failing gradually. - NHTSA ODI #11697141 (BMW owner report) — An owner reported that their vehicle required several attempts to restart. Upon scanning, DTCs P0172 and P0446 were retrieved, which the owner related to manufacturer service bulletin SIB 01 02 24.
"I Checked Everything" — The Actual Cause
- In some cases involving the related BMW code 191C02, the diagnostic test plan may incorrectly blame the fuel tank vent valve. A documented edge case, applicable to B-series engines, found the true cause to be a separate breather hose that contains a small venturi section. If this hose fails, it can trigger the same fault codes even if the main valve and lines pass a smoke test.
OEM Part Supersession History
13907614013→13907614013 (current)— This part number appears to be stable for the F48 X1 application. While BMW has issued extended warranties, the part number itself has not been publicly superseded.
Heads up: Be aware that other B46/B48 engines in different platforms (e.g., RWD-based 3-series) may use a different part number like 13907643106. Always verify the part number with your vehicle's VIN. Using the wrong part, even if it fits, can cause persistent issues.
Model Year Variations Within This Range
- 2016-2017: Models from these years are the primary focus of BMW's Service Information Bulletins (SIB B010419, B010224) and the associated extended warranty for the fuel tank breather valve. This indicates the failure is most common on the earlier vehicles of this generation.
Diagnostic Flowchart
Other Known Issues on This Vehicle
Issues unrelated to this code that are worth knowing about as an owner of this generation:
- Prematurely Failing Passenger-Side Engine Mount 🟠 Medium — Very common, can fail as early as 25,000-30,000 miles. Symptoms include excessive vibration at idle and a 'clunk' when shifting.
- Worn Front Lower Control Arm Bushings 🟠 Medium — Common after 40,000-60,000 miles. Causes clunking noises over bumps, poor steering feel, and uneven tire wear.
- Jerky Automatic Transmission Shifts 🟠 Medium — Reported by some owners, can sometimes occur as early as 40,000 miles. May be caused by fluid issues or internal components.
- Electronic Parking Brake Malfunctions 🟡 Low — Some owners report issues with the electronic parking brake failing to engage or disengage properly.
- Gear Selector Failure ('Transmission not in Park' warning) 🟠 Medium — A known issue where the shifter assembly fails, causing a persistent warning message. Requires expensive replacement of the entire shifter unit.
Used vs. New Parts: Buying Guide for This Vehicle
When a used part is the smart pick: For this specific repair, a used part from a salvage yard is STRONGLY DISCOURAGED. The Fuel Tank Breather Valve is a known high-failure item due to an internal design flaw. A used part has a high probability of either being already faulty or failing shortly after installation.
What to inspect on the donor part:
- Not applicable, as a used part is not recommended for this failure.
OEM-only on this vehicle (don't cheap out):
- While not strictly 'OEM-only', it is highly recommended to use either a Genuine BMW part or a part from the original equipment manufacturer, Bosch (part number 0280142526), to ensure compatibility and longevity.
Aftermarket brands forum-validated for this vehicle:
- Bosch (OEM supplier)
Brands owners have reported issues with on this vehicle:
- Unbranded parts from online marketplaces (e.g., Amazon, eBay) have forum reports of being defective out of the box or failing to resolve the code.
- NOVAPARTS (based on a 1-star customer review citing improper design).
Real Owner Stories
Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.
2017 BMW X1
Symptoms: Check engine light with P0446 code. The vehicle ran normally.
What fixed it: Replaced the fuel tank breather valve (vent valve).
Cost: $300
Source hint: Bimmerpost (f48.bimmerpost.com) thread 'Code P0446 - EVAP VENT CONTROL CIRCUIT FAILURE'
2018 BMW X1 xDrive28i 2.0L — 49710 miles
Symptoms: Check engine light, DTC fault codes P0440 and P0446.
What fixed it: Replace the fuel tank breather valve.
Source hint: CarComplaints.com report for 2018 BMW X1 fuel system
2018 BMW X1
Symptoms: Experienced P0440 and P0171 codes; confirmed the old part's diaphragm was torn by inspecting it with an endoscope.
What fixed it: Replacing the purge valve (part #13907614013).
Source hint: Bimmerpost (f48.bimmerpost.com) thread 'Another issue (yay!) P0440, P0171, and...'
2017 BMW X1
Symptoms: Multiple codes including EVAP faults, rough running.
What fixed it: Fuel Tank Breather Valve replacement.
Source hint: Reddit (r/BmwTech) thread '2017 Bmw x1'
BMW Owner Report
Symptoms: Vehicle required several attempts to restart. Scanning revealed DTCs P0446 and P0172.
What fixed it: The owner related the failure to manufacturer SIB 01 02 24.
Source hint: NHTSA ODI #11697141
Related OBD-II Codes
Frequently Asked Questions
Is there an extended warranty for the fuel tank breather valve for my BMW X1?
My 2018 X1 is stumbling right after I fill up the gas tank. Could this be related to P0446?
How can I tell if the purge valve on my B46 engine has actually failed?
The dealer quoted me $1000 to fix an EVAP issue on my 2017 X1. Is there a cheaper way?
Does the P0446 code on my BMW X1 always mean the vent valve at the back of the car is bad?
Are there other BMW models that have this same P0446 issue?
Helpful Videos
Used OEM Parts in Stock
New Aftermarket Parts Available
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 X1:
- 🧭 Diagnostic Flowchart
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2016-2022 BMW X1
- 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
- "I Checked Everything" — The Actual Cause
- OEM Part Supersession History
- Model Year Variations Within This Range
- Other Known Issues on This Vehicle
- Used vs. New Parts: Buying Guide for This Vehicle
- Real Owner Stories
- 2017 BMW X1
- 2018 BMW X1 xDrive28i 2.0L — 49710 miles
- 2018 BMW X1
- 2017 BMW X1
- BMW Owner Report
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off