Go-Parts
Cart 0
Your cart is empty
Add an item to see it appear here.
Wrenchy
Go-Parts Garage
Expert guides for diagnosing, troubleshooting, and replacing auto parts Expert guides for diagnosing and replacing auto parts
Browse All Articles →
🧭 Diagnostic Flowchart 🎬 Helpful Videos 🛍️ Shop This Part

P0507 on 1999-2005 Mazda Miata 1.8L: High Idle Causes and Fixes

On a 1999-2005 'NB' Miata, code P0507 is almost always caused by a vacuum leak from an old hose or a dirty/stuck Idle Air Control (IAC) valve. A thorough cleaning of the IAC valve and throttle body, or finding and fixing a cracked vacuum line, usually resolves the issue for under $50 in materials.

20 minutes to read 1999-2005 Mazda Miata
Most Likely Cause
Vacuum Leak
Difficulty
2/5
Est. Time
1.2 hrs
DIY Doable?
✅ Yes
Shop Labor
$75 – $500
Parts Price
$5 – $300
⚠️ Drivable, but... — Yes, but driving should be limited. A high idle can make the car feel like it's pushing forward at stops, requiring more brake pressure, and can lead to increased fuel consumption and engine wear over time.
Key Takeaways
  • P0507 on an NB Miata means the idle is too high and the car's computer can't bring it down.
  • Start your diagnosis by looking for cracked, disconnected, or broken vacuum hoses around the intake manifold.
  • The next most likely fix is to remove and thoroughly clean the Idle Air Control (IAC) valve and the throttle body.
  • Always reset the ECU by disconnecting the battery for 10-15 minutes after cleaning or replacing parts to allow the system to relearn.
  • This is a very common, DIY-friendly repair that usually requires simple hand tools and cleaning supplies.
The trouble code P0507 stands for 'Idle Control System RPM Higher Than Expected'. On your Miata, the engine's computer (ECU) constantly adjusts an Idle Air Control (IAC) valve to maintain a target idle speed. This code means the ECU has detected that the engine's idle is consistently about 200 RPM or more above its target, even after the ECU has commanded the IAC valve to fully close in an attempt to lower it. This indicates that an external factor, like unmetered air from a vacuum leak or a stuck valve, is causing the idle to be too high.

What's Unique About the 1999-2005 Mazda Miata

The 1999-2005 'NB' Miata uses a simple and robust cable-actuated throttle with a separate Idle Air Control (IAC) valve, unlike modern cars with electronic throttle bodies. This design makes diagnosis straightforward. The most common cause of P0507 isn't a failed electronic sensor, but rather a simple mechanical issue like a vacuum leak from aging rubber hoses or carbon buildup physically jamming the IAC valve, both common on cars of this vintage.

Generation note: This range covers the entire second generation ('NB') Miata, including the pre-facelift NB1 (1999-2000) and the facelifted NB2 (2001-2005). The fundamental 1.8L engine architecture and cable-driven idle control system are the same, so the causes and fixes for P0507 are consistent across this entire year span.

Symptoms You May Notice

  • Check Engine Light is on
  • Engine idles noticeably higher than normal (e.g., 1100-1500 RPM instead of ~850 RPM)
  • Rough or unstable idle speed
  • A feeling that the car wants to 'lurch' or 'creep' forward when stopped in gear
  • Increased fuel consumption
  • On cold starts, idle may shoot up to 2200-2600 RPM and stay high until the engine warms up.
  • 🎬 Watch: Understanding P0507 symptoms and common causes for high idle.
⚠️ Don't Waste Money on the Wrong Fix
  • Replacing the Throttle Position Sensor (TPS). The TPS tells the ECU the throttle plate's angle but does not directly control idle speed. A faulty TPS usually has its own set of codes and symptoms.
  • Replacing the Mass Airflow (MAF) sensor. While a faulty MAF can cause idle issues, it's not a primary cause for P0507, which specifically points to the idle control system being unable to lower RPM.

Most Likely Causes

  1. Vacuum Leak 🔴 High Probability The rubber and plastic vacuum lines in the engine bay become brittle and crack with age and heat cycles, which is very common on 20+ year old vehicles. Small, overlooked hoses are often the culprit.
    How to confirm: Visually inspect all vacuum hoses connected to the intake manifold for cracks or loose connections. Pay close attention to the small vacuum cap on the rear of the intake manifold. Alternatively, use a smoke machine connected to a vacuum line; smoke will exit from the location of the leak. 🎬 Watch: How to perform a vacuum leak test on your Miata.
    Typical fix: Replace the cracked or broken vacuum hose(s).
    Est. part cost: $5-$30
  2. Dirty or Sticking Idle Air Control (IAC) Valve 🔴 High Probability → Shop Idle Air Control Valve The IAC valve is exposed to crankcase oil vapors and carbon, which build up over time and can cause the internal plunger or rotary shutter to stick open, allowing excess air to bypass the throttle. This is the most frequently cited cause in owner forums.
    How to confirm: Remove the IAC valve from the side of the throttle body (two Phillips head screws). Inspect its air passages for heavy carbon buildup. You can test its function by unplugging it while the car is off; if the idle doesn't change upon restart, the valve is likely stuck or has failed. Resistance across the two terminals should be between 7.7 and 9.3 ohms at room temperature.
    Typical fix: Thoroughly clean the IAC valve's passages and moving parts with throttle body cleaner and a small brush. If cleaning doesn't work, the valve must be replaced. The screws holding it can be difficult to remove, so an impact driver may be helpful. 🎬 See this walkthrough on cleaning the IAC valve to fix rough idle.
    Est. part cost: $5 (cleaner) - $250 (new valve)
  3. Dirty Throttle Body 🟡 Medium Probability → Shop Fuel Injection Throttle Body
    How to confirm: Remove the intake hose from the throttle body. Visually inspect the throttle plate and the bore for a ring of black carbon buildup. This buildup can prevent the plate from closing completely, creating a small air gap.
    Typical fix: With the engine off, spray throttle body cleaner on a rag and wipe the throttle plate and bore clean. Do not spray directly into the throttle body for an extended period. A new throttle body gasket is recommended.
    Est. part cost: $5-$15
  4. Stuck-Open PCV Valve ⚪ Low Probability → Shop PCV Valve The PCV valve can become clogged with sludge, especially if oil changes are infrequent. If it sticks open, it creates a constant vacuum leak.
    How to confirm: Remove the Positive Crankcase Ventilation (PCV) valve from the valve cover. Shake it. If it does not rattle, it is stuck.
    Typical fix: Replace the PCV valve and its grommet. This is an inexpensive and easy maintenance item.
    Est. part cost: $10-$25

Rare But Worth Checking

Diagnosis Steps

  1. Read the code with an OBD-II scanner to confirm P0507 is the only code present.
  2. Check for proper throttle cable slack. Ensure it's not holding the throttle plate open.
  3. With the engine running, listen for an audible hissing sound around the intake manifold, which indicates a vacuum leak.
  4. Perform a smoke test by feeding smoke into the intake system via a vacuum port. Observe where smoke escapes to pinpoint any leaks in hoses, gaskets, or the intake manifold itself. Pay special attention to the small vacuum cap on the back of the intake manifold.
  5. If no leaks are found, turn the engine off and allow it to cool.
  6. Remove the Idle Air Control (IAC) valve from the throttle body. It is held by two Phillips screws. Thoroughly clean it and the port it sits in with throttle body cleaner.
  7. While the IAC is off, clean the throttle body plate and bore.
  8. Check the PCV valve by shaking it; replace it if it doesn't rattle.
  9. Reassemble all components. It is highly recommended to use a new gasket for the IAC valve (Part No. BP2Y-13-W89) to prevent creating a new vacuum leak.
  10. Disconnect the negative battery terminal for 10-15 minutes to reset the ECU's learned fuel and idle trims.
  11. Reconnect the battery, start the car, and let it idle for several minutes to relearn. The idle should return to normal.

Parts You'll Likely Need

  • Idle Air Control Valve Gasket (OEM #BP2Y-13-W89) — This gasket should always be replaced when the IAC valve is removed for cleaning to prevent creating a new vacuum leak. It is often brittle and breaks upon removal.
    Trusted brands: Mazda OEM, Fel-Pro, Mahle
    OEM price range: $5-$10
    Aftermarket price range: $2-$5
  • Idle Air Control (IAC) Valve (OEM #BP4W-20-660) — If cleaning the original valve does not resolve the high idle, the internal motor has likely failed and the unit needs to be replaced.
    Trusted brands: Mazda OEM, Standard Motor Products, Carquest
    OEM price range: $300-$400
    Aftermarket price range: $150-$250
  • PCV Valve (OEM #B6BF-13-890 (or 323 GTX upgrade: B61P-13-890)) — A stuck PCV valve acts as a vacuum leak. It's an inexpensive maintenance item that is often overlooked. An upgraded version from a Mazda 323 GTX is a popular choice for its more robust design.
    Trusted brands: Mazda OEM
    OEM price range: $15-$25
    Aftermarket price range: $5-$15
  • Vacuum Hose Assortment — The cause is often a cracked vacuum line. Having an assortment of common vacuum hose sizes on hand makes for a quick repair.
    OEM price range: $5-$20
    Aftermarket price range: $5-$15

Platform-Specific Known Issues

  • IAC Valve Coolant Lines: The IAC valve on the NB Miata has small coolant lines running to it. While these lines don't directly cause the P0507 code, they can leak coolant and make the job of removing the IAC valve messy. It's wise to have a pair of hose clamps or plugs ready to prevent coolant loss during the procedure.
  • Intermittent Nature of the Problem: Some owners report that the P0507 code appears intermittently, especially with changes in ambient temperature. A cold snap might cause the idle to hang high, triggering the code, which then disappears in warmer weather. This often points to a borderline sticky IAC valve or a vacuum leak that opens/closes with temperature changes.

Mechanic-Grade Diagnostic Values

  • Idle Air Control (IAC) Valve Resistance — expected: 7.7 - 9.3 Ohms at 68°F (20°C). Failure: A reading significantly outside this range, or an open circuit (infinite resistance), indicates a failed valve.
  • Throttle Position Sensor (TPS) Idle Switch - Feeler Gauge Method — expected: With a 0.012-inch (0.3mm) feeler gauge between the throttle stop screw and throttle lever, there should be continuity between pins C & D. With a 0.016-inch (0.4mm) gauge, there should be no continuity.. Failure: If continuity does not change as specified, the TPS is misadjusted or faulty. This ensures the ECU knows when the throttle is fully closed.
  • Throttle Position Sensor (TPS) Voltage at ECU — expected: Key-On, Engine-Off: 0.1 - 1.1V with throttle fully closed. 3.1 - 4.5V with throttle fully open.. Failure: Voltages outside this range, or a non-linear sweep when opening the throttle, indicate a bad sensor or wiring issue.

Wiring & Ground Locations

  • Engine Ground (Main) — Multiple key locations: On the rear of the intake manifold; a strap from the back of the engine (exhaust side) to the firewall; under the brake booster; on the shelf near the oil dipstick.. The ECU and its sensors, including the IAC valve and TPS, rely on a clean, solid ground reference. A poor ground can cause erratic sensor readings, leading the ECU to make incorrect idle adjustments.
  • ECU Pin: IAC Valve (NB1, 1999-2000) — On the main ECU connector, the IAC valve is controlled by pins for 'IAC1A' and 'IAC1B'.. Allows for testing of continuity and signal directly from the ECU to the IAC valve connector, helping to isolate a wiring fault from a failed valve or ECU.
  • ECU Pin: IAC Valve (NB2, 2001-2005) — On the main ECU connector, the Idle Control Solenoid Valve is controlled by pins 2P and 2O.. Knowing the specific pins for the facelift model is crucial for accurate electrical diagnosis, as they differ from the earlier NB1.

Real Owner Repair Stories

  • Reddit user on r/AskAMechanic (2000 Buick Regal GS (similar P0507 logic)) — High idle at 1100-1200 RPM, P0507 code.
    ❌ Tried (didn't work) Replaced IAC valve, Replaced PCV valve and gasket, Cleaned throttle body, Replaced all vacuum hoses, Checked wiring continuity to IAC connector
    ✅ What actually fixed it The idle stop screw had been adjusted incorrectly at some point. Readjusting the screw to its proper position resolved the high idle.
  • Mazdas247 Forum User (Mazda Protege5 (similar engine/IAC system)) — Persistent P0507 code.
    ❌ Tried (didn't work) Replaced PCV valve, Cleaned throttle body, Checked for vacuum leaks (none found), Tested IAC resistance (was in spec)
    ✅ What actually fixed it Another user suggested the Power Steering Pressure Switch was a possible cause. Disconnecting the switch to see if the idle drops is the diagnostic test. The original poster did not confirm the fix, but it represents a valid, non-obvious diagnostic step.

"I Checked Everything" — The Actual Cause

  • A leaking brake booster diaphragm. This creates a significant vacuum leak internal to the booster that a smoke test applied to the intake manifold may not reveal. Symptoms can include a hard brake pedal or a change in idle when the brakes are applied.
  • A faulty brake booster check valve. If the valve is stuck open or leaking, it can act as a constant vacuum leak. This can be tested with a hand-held vacuum pump.

OEM Part Supersession History

  • BP4W-20-660N/A — N/A
    Heads up: The part number BP4W-20-660 is consistently used for the entire 1999-2005 model range. While an alternate number ZM01-20-660 also appears, BP4W-20-660 is the standard OEM part. No major supersessions or compatibility issues are noted within the NB generation.

Model Year Variations Within This Range

  • 1999-2000 (NB1) vs 2001-2005 (NB2): The core engine architecture changed. The NB1 uses the BP4W engine, while the NB2 uses the BP-Z3 engine with Variable Valve Timing (VVT). This results in different intake manifolds, ECU logic, and ECU pinouts for the IAC valve. While the P0507 causes are the same, electrical diagnosis requires the correct wiring diagram for the specific year range.

Diagnostic Flowchart

Start by confirming if the high idle (1100-1500+ RPM) is constant or intermittent, as the BP-series engine in the NB Miata is prone to specific vacuum and IAC valve failures.
Perform a visual and smoke inspection of the intake. Did you find cracks in the rubber lines or the small vacuum cap on the rear of the intake manifold?
→ Replace the brittle vacuum hoses or the rear manifold cap. These 20+ year old rubber components are the most common high-probability cause for P0507 on the NB platform.
Check the throttle body. Is there sufficient slack in the throttle cable, and is the butterfly valve closing completely?
→ Adjust the throttle cable slack or clean the throttle body bore and plate with a rag and cleaner to remove carbon buildup that prevents the plate from seating.
Remove the PCV valve from the valve cover and shake it. Does it rattle?
→ Replace the PCV valve and grommet. A stuck-open PCV valve acts as a constant vacuum leak, common on Miatas with infrequent oil changes.
Remove the Idle Air Control (IAC) valve (two Phillips screws). Is there heavy carbon buildup, or does it fail the resistance test (7.7–9.3 ohms)?
→ Thoroughly clean the IAC passages with throttle body cleaner. If resistance is out of spec, replace the valve. Use a new gasket (BP2Y-13-W89) and be careful of the attached coolant lines during removal.
After cleaning/inspecting components, has the idle returned to the target ~850 RPM?
→ Disconnect the negative battery terminal for 15 minutes to reset the ECU's learned idle trims. Reconnect and allow the car to idle for several minutes to relearn the base idle position.
→ Diagnosis complete. Monitor for intermittent high idle during ambient temperature changes, which may indicate a borderline sticky IAC valve plunger.
Remove the Idle Air Control (IAC) valve (two Phillips screws). Is there heavy carbon buildup, or does it fail the resistance test (7.7–9.3 ohms)?
→ Thoroughly clean the IAC passages with throttle body cleaner. If resistance is out of spec, replace the valve. Use a new gasket (BP2Y-13-W89) and be careful of the attached coolant lines during removal.
After cleaning/inspecting components, has the idle returned to the target ~850 RPM?
→ Disconnect the negative battery terminal for 15 minutes to reset the ECU's learned idle trims. Reconnect and allow the car to idle for several minutes to relearn the base idle position.
→ Diagnosis complete. Monitor for intermittent high idle during ambient temperature changes, which may indicate a borderline sticky IAC valve plunger.

Other Known Issues on This Vehicle

Issues unrelated to this code that are worth knowing about as an owner of this generation:

  • Front Frame Rail Rust 🔴 High — Very common, especially in regions that use road salt. Rust forms from the inside out due to a multi-layer design that traps moisture. Visual inspection is critical before purchase.
  • Thrust Bearing Failure (1999-2000) 🔴 High — Affects early NB1 models (1999-2000) due to an incorrect bearing design from the factory. Failure typically occurs at low mileage (around 40,000 miles) and results in the need for an engine replacement. Most high-mileage cars have either been fixed or were not affected.
  • Valve Lifter Tick 🟡 Low — Common on many Miatas. The 1999-2005 NB models use solid lifters (shim-over-bucket), and a ticking noise indicates the valve clearances are out of spec. This is different from the hydraulic lifter tick on 1990-97 models. It is often just an annoyance but can eventually lead to reduced performance if not addressed.
  • Radiator Failure 🟠 Medium — The original radiators use plastic end tanks that become brittle with age and can crack, leading to coolant leaks and potential overheating. It is a matter of 'when' not 'if' it will fail. Upgrading to an all-aluminum radiator is a very common preventative measure.
  • Leaking Valve Cover Gasket 🟡 Low → Shop Engine Valve Cover — Extremely common on high-mileage engines. Oil seeps from the gasket, creating a mess in the engine bay. It's an easy and inexpensive DIY fix.

Used vs. New Parts: Buying Guide for This Vehicle

When a used part is the smart pick: A used OEM Idle Air Control (IAC) valve from a reputable Miata parts recycler is often a smart choice. The new Mazda OEM part is very expensive (often $300+), and many aftermarket alternatives have a poor reputation for quality and longevity. A used OEM part is often preferred over a new, non-OEM part.

Donor-vehicle mileage cap: roughly under 120000 miles for the part to have meaningful remaining life.

What to inspect on the donor part:

  • If possible, test the resistance across the two pins with a multimeter before purchase. It should be between 7.7 and 9.3 ohms.
  • Source from a vehicle that was not wrecked due to a frontal impact.
  • Look for minimal corrosion on the electrical connector pins.
  • Ask the seller if the donor car had any idle-related issues or codes.

OEM-only on this vehicle (don't cheap out):

  • Idle Air Control (IAC) Valve

Aftermarket brands forum-validated for this vehicle:

  • Standard Motor Products (SMP) is generally considered a reliable, if expensive, aftermarket alternative to OEM.

Brands owners have reported issues with on this vehicle:

  • Be cautious of unbranded, low-cost IAC valves from online marketplaces. Forum discussions frequently mention these parts failing quickly or not working correctly out of the box.

Real Owner Stories

Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.

2002 NB Miata 1.8L

Symptoms: Initially, high idle at 1500rpm

What fixed it: Cleaning the idle valve and addressing a valve or sensor at the clutch pedal.

Source hint: owner_reports

1999-2000 NB1 Miata 1.8L

Symptoms: High idle; user investigated the throttle cable and cleaning procedures.

What fixed it: Troubleshooting steps included checking the throttle cable and cleaning components.

Source hint: Reddit r/Miata: P0507 NB1 - high idle. What turned out to be the problem/fix for you?

Frequently Asked Questions

What is the specific resistance range I should look for when testing the IAC valve on my 1999-2005 Miata?
When testing the Idle Air Control (IAC) valve at room temperature, the resistance across the two terminals should be between 7.7 and 9.3 ohms.
Is there a specific gasket I should use when reinstalling the IAC valve to prevent P0507 from returning?
Yes, it is highly recommended to use a new IAC valve gasket, specifically Mazda Part No. BP2Y-13-W89, to ensure a proper seal and prevent vacuum leaks.
Why does my NB Miata idle at 2200-2600 RPM only during cold starts?
This is a symptom of P0507 where the idle shoots up significantly on cold starts and stays high until the engine warms up, often caused by a sticking IAC valve or temperature-sensitive vacuum leaks.
I'm cleaning my IAC valve; do I need to worry about the coolant lines attached to it?
The NB Miata IAC valve has small coolant lines that can make removal messy. While they don't cause the P0507 code, you should have hose clamps or plugs ready to prevent coolant loss during the procedure.
Could a rattling sound from my PCV valve be related to the high idle?
Actually, the opposite is true. If you remove the PCV valve and shake it, it should rattle. If it does not rattle, it is stuck, which can create a vacuum leak leading to the P0507 code.
Can I just spray throttle body cleaner directly into the intake to fix the high idle?
While cleaning helps, you should not spray cleaner directly into the throttle body for an extended period. Instead, spray it on a rag and wipe the throttle plate and bore clean with the engine off.
Rough Idle IAC Cleaning On A NB Miata
Rough Idle IAC Cleaning On A NB Miata
Miata Diagnosis: Vacuum Leak Testing
Miata Diagnosis: Vacuum Leak Testing
Mazda MX-5 / Miata 1.6 Throttle Body, Intake Manifold & EGR Valve Removal + Cleanup (BZ6E, NA & NB)
Mazda MX-5 / Miata 1.6 Throttle Body, Intake Manifold & EGR Valve Removal + Cleanup (BZ6E, NA & NB)
P0507 Idle Control System (High RPM) | Symptoms, Causes & Vacuum Leaks
P0507 Idle Control System (High RPM) | Symptoms, Causes & Vacuum Leaks
Wrenchy
Article researched & written by
Go-Parts' AI research assistant. Every article is backed by live web research, verified OEM data, and real technician knowledge — so you get accurate, up-to-date information you can trust.
Meet Wrenchy → Updated Jun 8, 2026

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.

Year Coverage
This article covers the OBD-II Code P0507 (Deep Dive) for:
  • Mazda Miata: 1999200020012002200320042005
In this article
🧭 Diagnostic Flowchart
Jump to ▴

Email This Guide

We'll send you a link to this article so you can read it later or share it.

Added to cart · Part