P0456 on 2020-2024 BMW X6: Causes and Fixes for a Very Small EVAP Leak
For a 2020-2024 BMW X6, code P0456 is most often caused by a faulty fuel tank breather valve (purge valve) or a failing DMTL pump. While checking the gas cap is an easy first step, these other components are more common failure points on modern BMWs. Diagnosis often requires a smoke test to pinpoint the exact location of the very small leak.
- P0456 is an emissions code for a very small leak and will not affect how your X6 drives.
- Before any other repair, ensure your gas cap is tight and the seal is clean. If you replace it, use a genuine BMW part, as aftermarket caps are a common cause of this code.
- On this vehicle, the most likely culprits beyond the gas cap are the fuel tank breather (purge) valve in the engine bay or the DMTL pump near the fuel tank.
- Do not replace parts randomly. If a new OEM gas cap does not fix the issue, the most cost-effective next step is a professional smoke test to find the exact source of the leak.
What's Unique About the 2020-2024 BMW X6
On modern BMWs like the G06 X6, a P0456 code is less likely to be a simple loose gas cap compared to other car brands. Experience from technicians and owners points more frequently to component failure, specifically the fuel tank breather valve (purge valve) located in the engine bay, or the Diagnostic Module Tank Leakage (DMTL) pump near the fuel tank. These parts are known failure points across many recent BMW models, so diagnosis should focus on them after the gas cap has been ruled out.
Symptoms You May Notice
- Check Engine Light is on.
- No noticeable impact on drivability or performance.
- A faint fuel smell near the rear of the vehicle or gas cap may be present in rare cases.
- On vehicles with the B58 engine, a failing (stuck open) purge valve can sometimes be accompanied by a P0172 'System too rich' code and long cranks after refueling.
- Replacing only the gas cap with an aftermarket part. Aftermarket caps are a notorious cause of P0456 codes because their seals often do not meet BMW's specific requirements for pressure testing.
- Replacing parts without performing a smoke test. Since multiple components can cause the same code, guessing can lead to unnecessary expense. A smoke test is the most reliable way to pinpoint the leak's exact source.
Most Likely Causes
- Faulty Fuel Tank Breather Valve (Purge Valve) 🔴 High Probability → Shop Fuel Tank This valve is a known high-failure item on many modern BMW engines, including the B58. It can fail to close completely due to internal wear or become stuck, creating a constant small leak path. BMW has issued extended warranties for this part on some models due to material and operational issues.
How to confirm: Remove the valve from the engine bay. With the valve disconnected, try to blow through it. If any air passes, it is faulty and needs to be replaced, as it should be normally closed. A failing valve may also make a loud metallic clicking or knocking noise. The electrical resistance should be approximately 18.2 ohms.
Typical fix: Replacement of the fuel tank breather valve. Bosch is the OEM supplier for this part. A G05 X5 owner with the same B58 engine documented this repair, which is identical for the G06 X6. 🎬 Watch this B58 engine purge valve replacement walkthrough.
Est. part cost: $45-$150 - Faulty DMTL Pump or NVLD Module 🟡 Medium Probability → Shop Evaporative Emissions System Leak Detection Pump The DMTL pump (or the newer NVLD module), which pressurizes the system for testing, is a common failure point on BMWs. It can fail internally or develop cracks in its housing or seals, causing the system to fail its pressure test. BMW has extended the warranty on the NVLD module for many models to 15 years/150,000 miles due to known defects.
How to confirm: This is difficult to confirm without a BMW-specific scan tool (like ISTA) to actuate the pump's test function or a smoke test. A smoke test may reveal a leak at the pump itself or, in cases of internal failure, smoke may exit the fresh air filter when it should be sealed.
Typical fix: Replacement of the DMTL/NVLD module, which is located in the rear passenger-side wheel well area, attached to the charcoal canister. 🎬 See how to replace the NVLD module yourself.
Est. part cost: $70-$250 - Loose or Faulty Gas Cap 🟡 Medium Probability → Shop Fuel Tank Cap While less common than on other makes, the gas cap seal can still degrade over time, preventing a perfect seal. Using non-OEM caps is a very common cause of this code. Even if the cap seems tight, a worn seal can be the culprit.
How to confirm: First, ensure the cap is tightened until it clicks several times. Inspect the rubber seal for cracks or hardening. If the issue persists after clearing the code, replace it with a genuine BMW OEM part.
Typical fix: Clean the fuel filler neck sealing surface and replace the gas cap with a new OEM part.
Est. part cost: $25-$50 - Cracked or Disconnected EVAP Hoses ⚪ Low Probability The plastic and rubber hoses in the EVAP system can become brittle from heat and age, leading to hairline cracks, especially at connection points.
How to confirm: A visual inspection may reveal obvious cracks, but a definitive diagnosis requires a professional smoke test to see where smoke escapes from the system.
Typical fix: Replacement of the specific hose or connector that is found to be leaking.
Est. part cost: $20-$100
Rare But Worth Checking
- Cracked Charcoal Canister: → Shop Vapor Canister Physical damage to the charcoal canister can cause a leak. This is uncommon but can happen from road debris or improper jacking. A smoke test would be required to confirm.
- Leaking Fuel Tank Filler Neck: → Shop Fuel Tank Corrosion or damage to the filler neck where the gas cap seals can prevent a proper seal, even with a new cap.
- Failing NVLD Unit (Natural Vacuum Leak Detection): Some modern BMWs use an NVLD pressure switch as part of the EVAP system. A Reddit user with a G05 X5 reported that BMW issued an extended warranty (15 years/150k miles) for this component, suggesting it's a known failure point that can cause EVAP codes.
Diagnosis Steps
- Read the code with an OBD-II scanner to confirm P0456 is present. Check for BMW-specific shadow codes like 190302 for more detail.
- Inspect the gas cap. Ensure it is tightened until it clicks at least three times. Check the rubber seal for any signs of cracking, stiffness, or damage.
- Clean the fuel filler neck's sealing surface with a clean cloth to remove any dirt or debris.
- If the cap is suspect, replace it with a new, genuine OEM BMW part (Part # 16117222391 is a common fit). Clear the codes and drive for a few days to see if the light returns, as the EVAP monitor runs intermittently.
- If the light returns, visually inspect the Fuel Tank Breather Valve (purge valve) and its connecting hoses in the engine bay for any obvious cracks or damage.
- Perform a functional test on the purge valve: remove it and try to blow through it. If air passes, it has failed and needs replacement. You can also check its resistance, which should be around 18.2 ohms.
- If no obvious issues are found, the most effective next step is to have a professional smoke test performed. This involves injecting low-pressure smoke into the EVAP system to visually identify the source of the leak. 🎬 Watch: How to perform a professional EVAP smoke test.
- During the smoke test, pay close attention to the purge valve, the DMTL/NVLD pump (in the rear passenger wheel well area), and all connecting hoses. Note if smoke exits the DMTL pump's fresh air filter, as this indicates an internal valve failure within the pump.
Parts You'll Likely Need
- Fuel Tank Breather Valve (Purge Valve)
(OEM #13907643106)— This is a very common failure point on modern BMWs that causes a small, persistent leak when it fails to seal completely. It can also cause rich running conditions and hard starts after fueling.
Trusted brands: Bosch (OEM), BMW (Genuine)
OEM price range: $80-$130
Aftermarket price range: $45-$90 - Gas Cap
(OEM #16117222391)— The seal can wear out, or an incorrect aftermarket cap may have been installed previously. Always use an OEM cap to ensure a proper seal. It's an inexpensive first step after checking for tightness.
Trusted brands: BMW (Genuine)
OEM price range: $25-$50
Aftermarket price range: $15-$30 - DMTL Pump (Leak Diagnosis Pump)
(OEM #16137193479 (superceded part number, confirm fitment))— This pump is essential for the EVAP self-test and is a known failure point, either from an internal fault or a cracked housing. Note that part numbers have been updated over the years.
Trusted brands: Bosch (OEM), BMW (Genuine)
OEM price range: $150-$250
Aftermarket price range: $70-$120
Technical Service Bulletins (TSBs) & Recalls
- A Reddit user on a G05 X5 forum mentioned receiving a letter from BMW extending the warranty on the NVLD (Natural Vacuum Leak Detection) unit to 15 years/150,000 miles, which can be a cause for EVAP codes. This is confirmed by SIB 01 09 21.
- SIB 01 03 24, released in 2024, extends the warranty for the EVAP system's purge valve to 15 years/150,000 miles on many G-chassis vehicles with B46/B58 engines due to known material and operational issues.
Mechanic-Grade Diagnostic Values
- Fuel Tank Breather Valve (Purge Valve) Solenoid Resistance — expected: ~18.2 ohms. Failure: A significantly higher (open circuit) or lower (shorted) reading.
Hidden / Shadow Codes Worth Checking
- 190302: Tank ventilation and purge air system, fine leak: leakage greater than 0.5mm. This is the manufacturer-specific code that often accompanies the generic P0456. (see via BMW-specific diagnostic software like ISTA or advanced OBD-II scanners (e.g., BimmerLink, Foxwell for BMW).)
- 190F08: Fuel tank ventilation system malfunction. Often points specifically to a failing fuel tank breather (purge) valve. (see via BMW-specific diagnostic software like ISTA or advanced OBD-II scanners.)
- 191C02: Fuel tank ventilation system, 2nd largest discharge point malfunction. Also associated with a failing purge valve. (see via BMW-specific diagnostic software like ISTA or advanced OBD-II scanners.)
Scan Tool Commands That Help
- ISTA (BMW Dealer Software) or equivalent advanced scan tool: EVAP System Test Plan / DMTL Activation — This function allows the technician to command the DMTL pump, vent valve, and heater to run individually. It is used to diagnose if the DMTL pump itself is faulty, or if the issue lies with the wiring or the DME's control circuit (driver).
Wiring & Ground Locations
- DMTL/NVLD Module Connector — On the DMTL/NVLD module, located in the rear passenger-side wheel well, attached to the charcoal canister.. Wiring schematics show that power is supplied to the DMTL at pin 4. The grounds for the internal pump motor, vent valve, and heater are controlled by the DME. A technician can use a test light connected to ground and back-probe the control pins while activating them with a scan tool to verify the DME driver and wiring integrity.
Real Owner Repair Stories
- YouTube video by a 2021 BMW 530i (G30) owner (2021 BMW 530i (G30 chassis, similar EVAP components)) — Check Engine Light with code P0456 and BMW code 190302.
❌ Tried (didn't work) Replacing the gas cap.
✅ What actually fixed it The owner took the car to the dealership, who diagnosed a failing NVLD module. The owner then purchased the NVLD module (approx. $200) and replaced it themselves in the rear passenger wheel well, which permanently resolved the code.
"I Checked Everything" — The Actual Cause
- A common scenario is performing a smoke test and finding no visible leaks from any hoses, the gas cap, or the canister. However, smoke is observed exiting the fresh air intake filter of the DMTL pump. This is not normal. It indicates a failure of the internal change-over valve inside the DMTL pump, which should be closed during the test phase. The 'leak' is the system's inability to seal itself for the test, caused by a faulty component, not a cracked hose.
OEM Part Supersession History
13907645860→13907643106— Part revision/update by BMW.16136752551, 16136764191→16137193479— The DMTL pump has been redesigned and superseded multiple times by BMW.
Heads up: Always verify the latest part number with a VIN, as multiple revisions exist.
Model Year Variations Within This Range
- 2024: The 2024 model year is the LCI (facelift) for the G06 X6. It features engine updates, including the B58TU2. While the fundamental EVAP system design is the same, some ancillary parts or software calibrations may differ from the 2020-2023 models. However, service bulletins for common EVAP parts like the purge valve still apply to these newer 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:
- 48V Mild-Hybrid System Faults 🟠 Medium — Becoming more common as vehicles age. Can manifest as charging problems, battery degradation, or starter/generator failure. Repair costs can be high if out of warranty.
- Unexplained Coolant Loss 🟠 Medium — Many owners report needing to top off coolant without visible leaks. Causes can range from minor (evaporation from expansion tank) to serious (internal engine leaks). BMW has issued bulletins suggesting some initial loss is due to seals absorbing coolant. (Ref: A service bulletin exists suggesting some initial coolant absorption by seals is normal.)
- iDrive 7.0 Software Glitches 🟡 Low — Owners report issues like dropped connections, sudden reboots, or problems with the backup camera display. These are often resolved with a software update from the dealer. (Ref: Multiple recalls for backup camera software have been issued.)
- Low-Speed Brake Squeal 🟡 Low — A widely reported annoyance, especially in stop-and-go traffic. It's often a matter of brake pad compound and not a safety issue, but can be frustrating for owners.
- Wind Noise from Door Seals/Window Frame 🟡 Low — Some owners have reported excessive wind noise at highway speeds (above 50 mph). This can often be resolved by a dealer adjustment of the door or seals under warranty.
Used vs. New Parts: Buying Guide for This Vehicle
When a used part is the smart pick: For this specific repair, used parts are generally not recommended. The primary failure items (purge valve, DMTL/NVLD module) are plastic and electronic components that degrade with heat and time. A used part may have limited remaining life or could be faulty already. Given the relatively low cost of new OEM-supplier parts, new is the smarter investment.
Donor-vehicle mileage cap: roughly under 40000 miles for the part to have meaningful remaining life.
What to inspect on the donor part:
- Verify the part number on the used component matches the latest superseded part number.
- Inspect plastic housings for any hairline cracks, especially around hose nipples and mounting tabs.
- Check electrical connectors for corrosion or damage.
- If possible, ask for the donor vehicle's VIN to check its age and mileage.
OEM-only on this vehicle (don't cheap out):
- Gas Cap: Aftermarket gas caps are a well-documented cause of P0456 on BMWs due to incorrect seal tolerances. Only a Genuine BMW cap should be used.
Aftermarket brands forum-validated for this vehicle:
- Bosch: Bosch is the Original Equipment Manufacturer (OEM) for both the Fuel Tank Breather Valve (Purge Valve) and the DMTL Pump. Buying the Bosch-branded part is identical to the Genuine BMW part but typically costs significantly less.
Brands owners have reported issues with on this vehicle:
- Unbranded/white-box parts from online marketplaces. While they may be cheap, their internal components (solenoids, diaphragms, pump motors) often lack the durability and precise calibration of the OEM parts, leading to repeat failures.
Real Owner Stories
Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.
2020 BMW G05 X5 (B58 Engine)
Symptoms: Check Engine Light on with codes P0456 and P0172.
What fixed it: Replacement of the Fuel Tank Breather Valve (Part # 13907643106) and gas cap (Part # 16117222391).
Source hint: Bimmerpost (G05 X5 Forum): A user with a 2020 G05 X5 (B58 engine) created a detailed YouTube video of their P0456 and P0172 diagnosis
2019 BMW G05 X5
Symptoms: Experienced a P0456 code and was seeking advice on the cause.
What fixed it: Informed of the NVLD unit extended warranty (15 years/150k miles) which covers this failure.
Source hint: Reddit (r/BmwTech): A user with a 2019 G05 X5 experiencing P0456 was informed by another user about an extended warranty letter for the NVLD unit
Related OBD-II Codes
Frequently Asked Questions
Is there an extended warranty for the NVLD module on my 2020-2024 BMW X6?
Does the Fuel Tank Breather Valve on the B58 engine have a special warranty extension?
What specific BMW part numbers should I look for to fix a P0456 on my X6?
Can a faulty purge valve cause issues other than the P0456 code?
Where is the DMTL pump or NVLD module located on the G06 X6?
Are there any BMW-specific codes I should look for alongside P0456?
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 X6:
- 🧭 Diagnostic Flowchart
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2020-2024 BMW X6
- Symptoms You May Notice
- Most Likely Causes
- Rare But Worth Checking
- Diagnosis Steps
- Parts You'll Likely Need
- Technical Service Bulletins (TSBs) & Recalls
- 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
- 2020 BMW G05 X5 (B58 Engine)
- 2019 BMW G05 X5
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off