OBD2

P0507Idle Air Control RPM Higher Than Expected

Idle RPM too high - vacuum leak or stuck throttle plate.

SeverityLow priority

Drive normally. Address at next service.

Common causes

  • 1Vacuum leak
  • 2Carbon on throttle body
  • 3Failed CCV / oil separator
  • 4Stuck IAC valve

DIY difficulty

1/5 - Beginner

Estimated repair cost

DIY$20-100 cleaning
Independent shop$150-400
Dealer$300-700

Related codes

Need to read or clear this code?

You need an OBD2 scanner that supports BMW SAE codes - generic readers will only show generic P-codes, not BMW-specific ones like P0507.

What P0507 actually means in plain English

P0507 fires when your BMW's ECU detects that idle RPM is running higher than the target range - typically 200 to 400 RPM above what the engine should settle at. On most F-series and G-series BMWs, target idle is somewhere around 600 to 700 RPM when cold, dropping to 500 to 550 RPM when warm.

Here's the mechanism - your ECU constantly monitors actual idle speed against a learned target. It controls idle through a few pathways: the throttle plate position, fuel trim, and ignition timing adjustments. When actual idle creeps above target and the ECU can't bring it back down through normal adjustment, it logs P0507 and lights your check engine light.

The root cause is almost always extra air entering the intake that the ECU didn't anticipate. Think of it this way - more unmetered air means the engine wants to run faster, and the ECU's idle control can't compensate enough to hold it back. That unmetered air is usually a vacuum leak, carbon buildup restricting throttle response, or a failed crankcase ventilation (CCV) component dumping excess air into the intake manifold.

How to diagnose P0507 step by step

Step 1 - Visual inspection under the hood. Spend five minutes looking for obvious vacuum hose cracks, disconnects, or dry-rotted rubber. Check intake manifold gaskets for oil seepage - a weeping gasket is an early warning. Look at the throttle body inlet for carbon buildup - if it looks black and crusty, that's your smoking gun. Inspect your CCV hoses (the rubber tubes running from the valve cover to intake manifold and crankcase) for splits or collapse.

Step 2 - Check your fuel pressure and idle data with a quality scanner. I recommend a proper OBD scanner for BMW over a basic code reader here. Pull live data while the engine idles - you want to see actual RPM versus ECU target, fuel trim numbers, and intake air temperature. If fuel trims are way off (more than 15 to 20 percent) that's a sign of a lean condition from excess air. Idle RPM should be rock solid - if it's jumping around, vacuum is unstable.

Step 3 - Smoke test the intake system. This is the gold standard. A smoke machine pressurizes the intake with harmless smoke, and you watch where it escapes. Any crack, loose hose, bad gasket, or port shows up immediately. I've found more vacuum leaks in fifteen minutes with a smoke tester than in an hour of guessing. If you don't own one, a good independent shop charges 60 to 100 dollars for a smoke test - money well spent before you start replacing parts.

Step 4 - Clean the throttle body. If visual inspection shows carbon, remove the throttle body intake hose and spray the throttle plate with carburetor cleaner while gently opening the plate by hand (engine off). Wipe with a clean rag. Stubborn carbon sometimes needs a soak. Reinstall, clear the fault code, and retest idle. This fixes P0507 about 30 percent of the time in my experience.

Step 5 - Check CCV function if leak-free. On older N-series engines, CCV failure is common. On newer B48 and B58 engines it's less frequent but happens. Disconnect the large hose from the CCV valve to the intake manifold and plug the port. Start the engine and feel for significant vacuum at the disconnected hose - you should feel strong suction. No suction or weak suction means the valve is stuck or failed.

DIY fix for P0507

P0507 scores a 1 out of 5 for DIY difficulty, which means most of the fixes are honest weekend jobs if you have basic tools and patience.

Throttle body cleaning takes 20 minutes and costs zero dollars if you already own carburetor cleaner. Remove the intake hose, spray, scrub, reinstall, clear the code, and test.

Vacuum hose replacement is straightforward - get the correct diameter replacement hose from a BMW parts supplier, disconnect the old hose at both ends, slide the new one on, and secure with hose clamps. Take a photo before you disconnect anything if you're unsure of routing. Cost is 10 to 40 dollars depending on which hose.

Intake manifold gasket replacement is where difficulty creeps up. You'll need to remove some components to access the gasket, and you'll want a new gasket kit plus fresh RTV sealant. It's doable for a home mechanic with patience, but if you're not confident, a shop takes about two hours labor - 300 to 500 dollars total with parts.

CCV replacement or valve cleaning depends on your engine. Some CCV setups bolt on and swap in 30 minutes. Others require intake manifold removal. Check your specific model on a BMW forum or coding guides before you commit.

My rule - if the smoke test points to a specific failed component, fix that component first. Don't replace the whole CCV assembly if a hose is the culprit. Don't replace the throttle body if carbon cleaning fixes it.

When P0507 comes back after repair

If P0507 returns days or weeks after you fixed it, you either missed the root cause or a related component failed.

Most common - you fixed the obvious leak but missed a second one. Smoke test again. Multiple small leaks add up fast. Second - you cleaned the throttle body but didn't address the carbon source (usually a failing CCV). The carbon returns because the CCV is still dumping oil vapor and carbon into the intake. Fix the CCV and the carbon stops. Third - your repair was incomplete. If you replaced a hose but didn't fully seat it or used the wrong clamp size, it can slip off weeks later.

Intermittent P0507 (comes and goes) usually points to a vacuum leak that only appears under certain conditions - cold start, certain throttle positions, or specific engine load. This is where a smoke test shines because it'll find small leaks a visual inspection misses.

My take on P0507

P0507 is a low-severity code, and I'd categorize it as green light - you can safely drive home if the car feels normal. High idle isn't damaging the engine; it's just the ECU's way of saying something's letting extra air in where it shouldn't be.

In five years wrenching BMWs and a year on the dealer line, I've seen this code solve itself more often than you'd think - a loose hose clamp vibrates tight again, or a small vacuum leak seals from carbon buildup. That said, don't ignore it indefinitely. A rough or hunting idle is annoying, and that unmetered air eventually taxes your fuel system trim and can trigger other faults.

Start with the smoke test if you have access to one. If you're tackling it blind, throttle body cleaning is free and fixes it 30 percent of the time. My G20 330i with the B48 has never thrown P0507, but I keep the CCV and intake clean and my vacuum lines are original. That's the best prevention.

For more on fault codes and what they mean, check out our complete fault codes guide. If you're logging and diagnosing yourself, invest in a solid scanner - it'll pay for itself on the second diagnostic. Good luck, and feel free to search our fault code tool for specific engine variants.