P0087 on 2007-2013 BMW 3-Series (N54): Causes for Low Fuel Rail Pressure
On a BMW 3-Series with the N54 engine, code P0087 almost always points to a failing High-Pressure Fuel Pump (HPFP). This is a very common and well-documented issue. Other possibilities include a faulty low-pressure fuel sensor that gets stuck sending a false reading, or, less commonly, a weak in-tank low-pressure fuel pump (LPFP).
- P0087 on an N54 engine is a serious code that should be addressed immediately.
- The most likely culprit by a large margin is the High-Pressure Fuel Pump (HPFP).
- Use a scan tool to log high and low fuel pressure data; this is the most effective way to diagnose the problem.
- A faulty low-pressure fuel sensor is the second most likely cause and can mimic HPFP failure symptoms.
- Do not drive the vehicle, as it can stall unexpectedly and cause further engine damage.
What's Unique About the 2007-2013 BMW 3-Series
The N54 engine is famous for its performance but infamous for its High-Pressure Fuel Pump (HPFP) failures. Early versions of this pump were so prone to failure that BMW extended warranties and issued multiple recalls and updated parts over the years. The internal seals of the original pump design would degrade, causing a loss of pressure. Therefore, when a P0087 code appears on an N54, the HPFP is the immediate and most probable suspect, far more so than on many other vehicles where this code might point to a wider range of causes.
Generation note: This guide covers the E90, E91, E92, and E93 generation of the BMW 3-Series. The N54 engine was equipped in 335i models from 2007-2010 and the 335is model from 2011-2013. The fuel system issues are specific to the N54 engine, not the chassis generation itself.
Symptoms You May Notice
- Engine Malfunction / "Limp Mode" message on the iDrive screen
- Long crank times, especially on cold starts or when warm
- Sudden loss of power under acceleration
- Rough or fluctuating idle
- Engine hesitation or stumbling, especially between 2000-4000 RPM
- Engine misfires, often with corresponding codes (P0300-P0306)
- Replacing the low-pressure fuel pump (LPFP) when the High-Pressure Fuel Pump (HPFP) is the actual cause. It's crucial to log both low and high-pressure data to diagnose which side of the fuel system is failing before replacing parts.
- Replacing fuel pumps when the low-pressure fuel sensor is simply stuck and sending a false reading to the DME.
Most Likely Causes
- High-Pressure Fuel Pump (HPFP) Failure 🔴 High Probability The original HPFP design on the N54 engine was inherently flawed, with internal seals that would degrade over time, causing a loss of pressure. BMW released multiple revised versions to address this widespread issue, which was the subject of recalls and a warranty extension. NHTSA ODI #11375976 notes that for the P0087 low pressure fuel code and drivetrain malfunctions, the fix is replacing the high pressure fuel pump. Similarly, NHTSA ODI #10978697 describes a failure where the HPFP went into bypass, causing the car to revert to limp mode with codes P0087 and P142E.
How to confirm: Use a BMW-specific scan tool (like INPA, ISTA, or MHD) to monitor 'Rail Pressure Mean' (actual) vs. 'Rail Pressure Setpoint' (requested). Under load (wide-open throttle), a failing HPFP will show the actual pressure dropping significantly below the requested value, often triggering limp mode. A healthy pump should hold pressure steady and match the setpoint.
Typical fix: Replace the High-Pressure Fuel Pump and its associated hardware. It is critical to use the latest revised part number from BMW or a reputable OEM supplier like Bosch. Due to the age of the platform, new pumps are often remanufactured Genuine BMW units.
Est. part cost: $400-$900 - Faulty Low-Pressure Fuel Sensor 🟡 Medium Probability This sensor, located on the low-pressure fuel line feeding the HPFP, can fail and send incorrect readings to the DME. The DME may interpret the faulty low reading as a system-wide pressure problem, triggering P0087. The original brass sensor design was prone to failure from vibration.
How to confirm: Use a diagnostic tool to log the low-pressure fuel sensor reading. A classic symptom of failure is the value being stuck at a specific number (e.g., pegged at 55.7 PSI) and not changing with engine RPM or load. A healthy sensor should show pressure fluctuating, typically around 72 PSI at idle.
Typical fix: Replace the low-pressure fuel sensor. This requires removing the intake manifold for access. An updated sensor design exists, which may require an adapter harness or a new fuel line for proper fitment to prevent leaks.
Est. part cost: $50-$120 - Failing Low-Pressure Fuel Pump (LPFP) ⚪ Low Probability The in-tank low-pressure pump is responsible for feeding the HPFP. If it becomes weak, it cannot supply enough volume to the HPFP, which then cannot build adequate high pressure, especially under load. While durable, it is still a wear item.
How to confirm: Monitor low-pressure fuel values with a scan tool during a wide-open throttle pull in a high gear (e.g., 3rd or 4th). If the pressure drops significantly, approaching or falling below 50 PSI, the LPFP is likely weak and cannot keep up with demand. This can also be caused by a failing EKP module, which controls the LPFP.
Typical fix: Replace the in-tank low-pressure fuel pump assembly. Many owners opt for an upgraded aftermarket unit (e.g., Walbro) if they plan to tune the vehicle for more power.
Est. part cost: $200-$400
Rare But Worth Checking
- Leaking Fuel Injector(s): A fuel injector stuck open can cause a drop in rail pressure, triggering P0087. This is often accompanied by misfire codes for a specific cylinder, a strong smell of fuel from the exhaust, and white smoke on startup. Another key symptom is smelling gasoline when you check the engine oil, as fuel washes past the piston rings. BMW has issued service bulletins and extended warranties regarding injector failures on the N54.
- Clogged Fuel Filter: The fuel filter is integrated with the low-pressure fuel pump and regulator assembly. While not a common failure point leading to P0087 on its own, a severely clogged filter could restrict flow to the HPFP. It's typically replaced as part of the LPFP assembly and is considered lifetime by BMW, but can become an issue on high-mileage vehicles.
Diagnosis Steps
- Connect a BMW-compatible OBD-II scanner (e.g., MHD, INPA, ISTA) and check for any other stored fault codes, especially BMW-specific codes like 29F2 or 29F1, or misfire codes.
- Use the scanner's live data function to monitor both low-pressure and high-pressure fuel readings at idle.
- Observe the low-pressure reading at idle. It should be around 5 bar (72 PSI). Watch it for several minutes. If it is stuck at a single value (like 55.7 PSI) and never moves, the low-pressure sensor is bad.
- Observe the high-pressure reading at idle. The DME will have a 'requested' pressure and an 'actual' pressure. At idle, it should be around 50 bar (725 PSI).
- Perform a data log during a wide-open throttle pull in 3rd or 4th gear (in a safe, legal location).
- Analyze the log: Check if the low-pressure reading drops below 50 PSI; if so, suspect the LPFP. Check if the 'actual' high pressure can keep up with the 'requested' high pressure (which can exceed 130 bar / 2000 PSI). If the 'actual' pressure plummets while the 'requested' stays high, the HPFP is the primary suspect.
- If fuel pressure seems to drop and you smell fuel in the oil, have heavy smoke from the exhaust, or have single-cylinder misfires, investigate for a leaking fuel injector.
- Inspect the wiring and connectors for the HPFP, low-pressure sensor, and EKP module (fuel pump control module) for any visible damage or corrosion.
Parts You'll Likely Need
- High-Pressure Fuel Pump (HPFP)
(OEM #13517616170)— This is the most common failure item causing P0087 on the N54 engine due to a well-documented design flaw in early versions. This is the latest known part number, often supplied as a Genuine BMW remanufactured unit.
Trusted brands: Bosch, Continental (Genuine BMW)
OEM price range: $600-$980
Aftermarket price range: $400-$700 - Low-Pressure Fuel Sensor
(OEM #13537622231)— This sensor can fail and send incorrect data to the DME, tricking it into setting a P0087 code. Failure is common, with a well-known symptom of getting 'stuck' at a fixed reading.
Trusted brands: Bosch, Genuine BMW
OEM price range: $80-$120
Aftermarket price range: $50-$90
Related Codes That Often Appear With This One
- 29F2 — This is a BMW-specific code for 'Fuel high-pressure system, fuel pressure'. It is the manufacturer-equivalent code that almost always accompanies the generic P0087 and directly points to the high-pressure side.
- P0300-P0306 — These are misfire codes (P0300 for random, P0301-P0306 for specific cylinders). Low fuel pressure prevents proper combustion, leading to misfires.
- 29F1 — BMW-specific code for 'Fuel pressure regulator, plausibility'. This often points towards an issue with the low-pressure side of the system, such as the LPFP or the low-pressure sensor.
Technical Service Bulletins (TSBs) & Recalls
- SI B13 04 09: Addresses rough cold starts and misfires due to leaking fuel injectors, which can be related to fuel pressure issues.
- SI B13 14 10: Details the service campaign and extended warranty for High-Pressure Fuel Pump (HPFP) failure on N54 engines.
Platform-Specific Known Issues
- HPFP Warranty Extension: BMW extended the warranty on the High-Pressure Fuel Pump for many N54-equipped vehicles to 10 years or 120,000 miles due to the high failure rate. A relevant service bulletin is SI B13 14 10. While this program has expired for nearly all 2007-2013 vehicles, it highlights the prevalence of the issue.
- HPFP Revisions: Multiple revisions of the HPFP exist. It is crucial to install the latest available part number (currently 13517616170) to ensure a lasting repair. Early replacement pumps were also known to fail.
- Owner Repair Story: A user on the F10 Bimmerpost forum with a 2011 535i (N55 engine, but same HPFP family) reported getting a P0087 code at 135k miles. After researching, they suspected the HPFP. Another user confirmed the warranty was likely expired but suggested calling BMW of North America, who was able to get their own pump replaced under a goodwill prog
Mechanic-Grade Diagnostic Values
- Low-Pressure Fuel System (LPFP) — expected: Approx. 5 bar (72.5 psi) at idle.. Failure: Drops below 50 PSI under wide-open throttle, indicating a weak pump. A reading stuck at a constant value (e.g., 55.7 PSI) indicates a failed sensor.
- High-Pressure Fuel System (HPFP) — expected: Approx. 50 bar (725 PSI) at idle, rising to over 130 bar (1885+ PSI) under load.. Failure: When data logging, the 'actual' rail pressure fails to meet the 'requested' rail pressure, and a significant deviation will trigger limp mode.
- Fuel System Leak-Down Test — expected: Pressure should not drop more than 0.5 bar (7.25 psi) over a 15-minute period after the engine is shut off.. Failure: A pressure drop greater than 0.5 bar suggests a leaking injector or a faulty check valve in the fuel pump.
- EKP Module PT-CAN Bus Voltage — expected: Pin H to ground: ~2.6V. Pin L to ground: ~2.3V.. Failure: Significant deviation from these voltages can indicate a communication problem with the module.
- EKP Module PT-CAN Bus Resistance — expected: Approx. 60 ohms between the H and L pins of the PT-CAN bus.. Failure: Readings far from 60 ohms can indicate a wiring issue or a problem with a terminating resistor on the bus.
Hidden / Shadow Codes Worth Checking
- 29DC: Cylinder injection switch-off. The DME has shut down injectors on one or more cylinders to protect the engine or catalytic converters due to dangerously low fuel pressure. (see via BMW-specific scan tools like ISTA, INPA, or advanced aftermarket tools like MHD/ProTool.)
- 2AAF: Fuel pump, plausibility. This code often points to an issue on the low-pressure side, such as a failing LPFP, clogged filter, or a bad EKP module. (see via BMW-specific scan tools like ISTA, INPA, or advanced aftermarket tools like MHD/ProTool.)
- 2FBE: Fuel pressure after motor stop. This suggests a leak-down issue where the rail pressure drops too quickly after the engine is turned off, often caused by a leaking injector. (see via BMW-specific scan tools like ISTA, INPA, or advanced aftermarket tools like MHD/ProTool.)
- 2BDE: Fuel high pressure. This is a shadow code that can be present even without a check engine light and indicates a problem detected on the high-pressure side. (see via BMW-specific scan tools like ISTA, INPA, or advanced aftermarket tools like MHD/ProTool.)
Scan Tool Commands That Help
- ISTA/INPA/MHD: Reset Fuel System Adaptations — This is critical after replacing any major fuel system component like the HPFP, LPFP, or low-pressure sensor. The DME learns values over time, and failing to reset adaptations can lead to the new part not performing correctly or the code returning.
- ISTA: Fuel Pump Test Plan — This is a guided diagnostic procedure within the dealer software that will systematically check the low-pressure sensor, activate the low-pressure pump, and then check the high-pressure system to isolate the fault.
- ProTool/ISTA: EKP (Fuel Pump Module) Coding — If the EKP module is replaced, the new module must be coded to the vehicle's VIN. A used module from another car will not work correctly without being recoded.
Wiring & Ground Locations
- EKP Module (Fuel Pump Control Module) — Under the rear passenger-side seat cushion, mounted near the in-tank low-pressure fuel pump assembly.. The EKP controls the voltage and speed of the low-pressure fuel pump. A failing, overheating, or corroded EKP can starve the HPFP of fuel, causing P0087 under load. Its location under the seat makes it vulnerable to moisture if there are any water leaks into the cabin.
- LPFP Connector — On top of the fuel pump assembly, under the rear seat.. A loose or corroded connector at the fuel pump 'bucket' can cause intermittent power loss to the pump, leading to sudden drops in fuel pressure that mimic a pump failure.
Real Owner Repair Stories
- e90post.com user (2011 BMW 335i (N55, but shares fuel system components)) — Half engine light, check engine light on, misfires on cold start, P0087 code.
❌ Tried (didn't work) Replaced the High-Pressure Fuel Pump (HPFP).
✅ What actually fixed it The user took it to a different shop that diagnosed a failing battery and Intelligent Battery Sensor (IBS). Replacing the battery and IBS resolved the issues, suggesting that low system voltage was causing erratic behavior in the fuel system electronics. - SpoolStreet.com user 'Mzfhartge' (BMW N54) — No power to the low-pressure fuel pump after installing an external fuel pressure regulator.
❌ Tried (didn't work) Checking the EKP module., Testing the pump directly.
✅ What actually fixed it The electrical connector on the fuel pump sending unit ('bucket') inside the tank was loose. The user had to 'crunch' the connector slightly to make a solid connection and secured it with a zip tie. - e90post.com user 'Ben54' (BMW 3-Series with N54) — Code 29F2 (high-pressure fuel system) immediately on startup, sometimes accompanied by 29DC (cylinder injection cut).
❌ Tried (didn't work) Replaced spark plugs, Replaced ignition coils, Replaced HPFP, Replaced LPFP, Replaced both fuel pressure sensors, Replaced the entire fuel supply module (filter assembly)
✅ What actually fixed it The user's final update indicated they were unable to reset the HPFP adaptations with their version of INPA software. This story highlights the critical importance of successfully resetting adaptations after replacing parts, as the code persisted despite replacing nearly the entire fuel system. The resolution was implied to be a software/adaptation issue, not a hardware one. - NHTSA ODI #11011930 — An owner reported that a drivetrain malfunction and check engine light appeared, with the scanned code P0087 translating to "low fuel rail pressure."
- NHTSA ODI #11310759 — An owner reported that while driving at 30 MPH, the car started shaking and the engine light came on, with the scanner reading code P0087.
- NHTSA ODI #11725764 — A report describes a check engine light on the cluster and a drivetrain error on the infotainment screen, specifically identifying code P0087 for "Fuel/rail system Pressure - too low bank 1."
OEM Part Supersession History
Multiple older numbers ending in 933, 446, etc.→13517616170— Early versions of the HPFP had high failure rates due to internal seal degradation. BMW released numerous revisions to improve durability.
Heads up: It is critical to use the latest available part number. While older revisions may physically fit, they are prone to the same premature failure. The part number on the pump itself may not match the BMW box part number, as the number on the box reflects the latest revision level.e.g., 13539899007 (Old brass body sensor)→13537622231 (Newer style sensor)— The original low-pressure fuel sensor design was prone to failure from engine vibration. The updated design relocates the sensor slightly.
Heads up: Installing the new style sensor (13537622231) on the original fuel line requires an adapter (PN: 16124800029) and a new o-ring. Alternatively, the entire fuel line can be replaced with the updated version that fits the new sensor directly.
Diagnostic Flowchart
Other Known Issues on This Vehicle
Issues unrelated to this code that are worth knowing about as an owner of this generation:
- Turbocharger Wastegate Rattle 🔴 High — Very common, often occurs after 50,000 miles. A rattling noise is heard when letting off the throttle. Can lead to a 30FF underboost code if wear becomes excessive. (Ref: BMW issued an extended warranty for 8 years/82,000 miles, but this has expired for most vehicles.)
- Electric Water Pump Failure 🔴 High — Common failure item, typically between 50,000 and 80,000 miles. Failure is sudden and will cause the engine to overheat and enter limp mode, leaving the driver stranded.
- Leaking / Failing Fuel Injectors 🔴 High — Common, especially on earlier index injectors (below Index 12). Symptoms include rough cold starts, misfires, fuel smell in oil, and white smoke from exhaust on startup. (Ref: BMW extended the warranty on fuel injectors for 10 years or 120,000 miles (190,000 km).)
- Intake Valve Carbon Buildup 🟠 Medium — Inevitable on all direct-injection engines. Requires cleaning (typically via walnut blasting) every 40,000-60,000 miles to prevent rough idle, hesitation, and power loss.
- Oil Filter Housing Gasket Leak 🟠 Medium — Extremely common. The gasket becomes hard and brittle, leaking oil onto the serpentine belt, which can cause the belt to slip off and potentially be ingested by the main crank seal, leading to catastrophic engine failure.
Used vs. New Parts: Buying Guide for This Vehicle
When a used part is the smart pick: For this specific P0087 issue on the N54, buying used parts is generally not recommended for the primary failure components. A used EKP (fuel pump control) module from a known-good, low-mileage vehicle could be a cost-effective option, but it will require coding to your vehicle with a tool like ProTool or ISTA.
Donor-vehicle mileage cap: roughly under 60000 miles for the part to have meaningful remaining life.
What to inspect on the donor part:
- For an EKP module, ensure there is no corrosion on the pins or casing.
- Verify the part number matches your original or is a compatible replacement.
- Ask for the VIN of the donor car to check its history if possible.
OEM-only on this vehicle (don't cheap out):
- High-Pressure Fuel Pump (HPFP)
- Fuel Injectors
- Low-Pressure Fuel Sensor
Aftermarket brands forum-validated for this vehicle:
- Bosch (Often the OEM supplier for sensors and pumps)
- Continental (OEM supplier for the HPFP)
- VDO (OEM supplier for the LPFP assembly)
Brands owners have reported issues with on this vehicle:
- Unbranded, no-name HPFPs from online marketplaces. The failure rate of these parts is extremely high, and they can fail in a way that causes further engine damage. Given the history of this part, using anything other than a new or remanufactured OEM unit is a significant risk.
Real Owner Stories
Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.
2011 BMW 535i N55 — 135000 miles
Symptoms: Owner reported getting a P0087 code. After researching, they suspected the HPFP.
What fixed it: The owner contacted BMW of North America, who replaced the pump under a goodwill program despite the standard warranty extension having likely expired.
Source hint: vehicle_specific_issues: Owner Repair Story (F10 Bimmerpost forum)
2007-2010 BMW 335i N54
Symptoms: The user detailed a diagnostic process using MHD logging to differentiate between fuel pumps. They observed that the high-pressure actual reading could not meet the requested pressure under load.
What fixed it: Replacement of the High-Pressure Fuel Pump (HPFP).
Source hint: e90post.com (Bimmerpost): Thread 'P0087 and 29F2 - HPFP or LPFP?'
2009 BMW 3-Series E90 N54
Symptoms: Error codes present; diagnostic logging showed the low-pressure fuel sensor was stuck at a constant 55.7 PSI regardless of engine state.
What fixed it: Replacement of the Low-Pressure Fuel Sensor.
Source hint: YouTube - 50sKid: Video 'This throws error codes - BMW E90 Low Pressure Fuel Sensor & Pump DIY'
Related OBD-II Codes
Frequently Asked Questions
Is there a specific TSB or warranty extension for the High-Pressure Fuel Pump on my N54 3-Series?
My 335i is stuck at a low-pressure reading of exactly 55.7 PSI. What does this mean?
Which part number should I use when replacing the HPFP to avoid future P0087 codes?
Can I diagnose if the HPFP or the LPFP is causing P0087 using a scan tool?
Does the low-pressure fuel sensor require any special parts for installation on the N54?
Why does my N54 3-Series experience long crank times and 'Limp Mode' under acceleration?
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 3-Series:
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2007-2013 BMW 3-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
- Diagnostic Flowchart
- Other Known Issues on This Vehicle
- Used vs. New Parts: Buying Guide for This Vehicle
- Real Owner Stories
- 2011 BMW 535i N55 — 135000 miles
- 2007-2010 BMW 335i N54
- 2009 BMW 3-Series E90 N54
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off