P0304 on 2009-2013 Subaru Forester: Cylinder 4 Misfire Causes and Fixes
P0304 on a 2009-2013 Forester indicates a misfire in cylinder 4. The most common causes are a worn spark plug, a faulty ignition coil or wire, or oil leaking into the spark plug tube from a bad valve cover gasket. A simple ignition component swap or spark plug inspection will often identify the issue. Less common causes include faulty fuel injectors or mechanical engine issues like a burnt valve.
- P0304 is a misfire on cylinder 4, the rear cylinder on the driver's side.
- Start your diagnosis by checking for oil in the spark plug tube, which points to a common valve cover gasket leak.
- The easiest and cheapest diagnostic step is to swap the ignition coil and wire from cylinder 4 to cylinder 2 to see if the problem moves.
- Do not ignore a flashing check engine light; it signals a severe misfire that can quickly damage your catalytic converter.
- Always replace spark plugs in a full set of four, not just the one in the misfiring cylinder.
What's Unique About the 2009-2013 Subaru Forester

The EJ25 engine in this generation of Forester has a well-documented history of valve cover and spark plug tube seal gaskets failing. This allows engine oil to leak into the spark plug wells, where it can foul the spark plug and degrade the ignition wire boot, leading directly to a misfire code like P0304. While ignition and fuel issues cause misfires on all cars, this specific oil leak is a very common starting point for diagnosis on this platform. Additionally, the SOHC EJ25 engines in these non-turbo models were known for external head gasket leaks, which typically seep oil and coolant externally rather than causing internal compression loss, though severe cases can still affect performance.
Symptoms You May Notice
- Rough or unstable idle
- Hesitation or stumbling during acceleration
- Noticeable loss of engine power
- Flashing or solid Check Engine Light
- Reduced fuel economy
- Smell of unburnt gasoline from the exhaust
- Sputtering or popping engine sounds
- Replacing the O2 sensor. While a faulty O2 sensor can cause fuel trim issues, it will typically set its own code and affect all cylinders on that bank, not just a single cylinder misfire like P0304.
- Assuming a major engine failure without performing basic diagnostic steps like swapping ignition components or checking for oil leaks.
Most Likely Causes

- Worn or Fouled Spark Plug 🔴 High Probability Spark plugs are a regular wear item. A significantly increased electrode gap from wear can cause a weak spark and misfire. Oil leaks from the valve cover gaskets can also foul the plugs, a common issue on the EJ25 engine.
How to confirm: Remove the spark plug from cylinder 4. Inspect for a worn electrode (large gap), excessive carbon buildup, oil saturation, or a cracked insulator. Compare the old plug to a new one to see the extent of the wear.
Typical fix: Replace the spark plugs. It is recommended to replace all four at the same time. Use high-quality plugs, such as the OEM-specified NGK Iridium plugs.
Est. part cost: $40-$80 for a set of four - Faulty Ignition Coil or Spark Plug Wire 🔴 High Probability The EJ25 uses a waste spark system with one coil pack, and the spark plug wires are a common wear item. Heat and age cause coils and wires to fail. Oil leaks can also damage the spark plug wire boot.
How to confirm: Swap the ignition coil and wire from cylinder 4 with the components from cylinder 2 (the front cylinder on the same, driver's side). Clear the codes and drive. If the code changes to P0302, the coil and/or wire is faulty. You can also use an inline spark tester to verify spark is being delivered to the cylinder.
Typical fix: Replace the faulty ignition coil and/or the set of spark plug wires. It is often recommended to replace the wires as a set. 🎬 See this walkthrough for replacing spark plugs and wires.
Est. part cost: $50-$100 for a coil, $40-$70 for a wire set - Leaking Valve Cover and Spark Plug Tube Gaskets 🟡 Medium Probability This is a very common failure on Subaru EJ25 engines. The rubber gaskets harden over time, allowing oil to seep into the spark plug tubes, causing a misfire.
How to confirm: When you remove the spark plug wire from cylinder 4, inspect the boot and the spark plug well for liquid engine oil. The presence of oil is a definitive sign of a leaking seal.
Typical fix: Replace the valve cover gasket, spark plug tube seals (grommets), and bolt grommets. This is often sold as a kit (e.g., OEM kit including two 13294AA070 gaskets and four 10966AA030 tube seals). Clean the oil out of the spark plug well and replace the oil-soaked spark plug and wire.
Est. part cost: $40-$90 for a full gasket kit 🎬 Watch: Step-by-step valve cover and spark plug replacement guide.
- Clogged or Faulty Fuel Injector ⚪ Low Probability
How to confirm: If ignition system checks don't reveal the problem, you can swap the fuel injector from cylinder 4 with another cylinder (e.g., cylinder 2). If the misfire code follows the injector (changes to P0302), the injector is the issue. This is easier than changing spark plugs on an EJ engine.
Typical fix: Replace the faulty fuel injector. It's good practice to replace the O-rings and seals on the other injectors at the same time.
Est. part cost: $70-$150 per injector
Rare But Worth Checking
- Low Engine Compression: While less common than ignition or fuel issues, the EJ25 engine can suffer from head gasket failure, which can cause low compression and a misfire. A Reddit user with a modified '09 Forester XT confirmed their P0304 was due to a head gasket failure. A burnt exhaust valve is another potential cause of low compression that can lead to a P0304 code. This should be investigated with a compression test if all other causes are ruled out.
- Damaged Crankshaft Pulley / Reluctor Ring: A YouTuber with a 2009 Forester experienced P0303 and P0304 at high RPMs after an engine swap. The cause was a faulty crankshaft pulley, which contains the reluctor wheel that the crankshaft position sensor reads to detect misfires. A damaged or unbalanced pulley can send incorrect signals, causing phantom misfire codes. This was also discussed on a subaruforester.org forum thread.
- Damaged Ignition Coil Connector: The plastic clips on the ignition coil's wiring harness connector can become brittle and break, leading to a poor connection and intermittent misfires. If the connector is loose or damaged, it may need to be repinned or replaced.
Diagnosis Steps

- Read the code with an OBD-II scanner and confirm it is P0304. Note any other codes present, like P0300 or P0302.
- If the Check Engine Light is flashing, avoid driving the vehicle to prevent catalytic converter damage.
- Locate cylinder 4, which is the rear cylinder on the driver's side of the engine.
- Pull the spark plug wire for cylinder 4. Inspect the wire boot and the spark plug tube for any signs of liquid oil. If oil is present, the valve cover and spark plug tube gaskets are leaking and must be replaced.
- If no oil is present, swap the ignition coil and wire from cylinder 4 with the ones from cylinder 2 (front cylinder, driver's side).
- Clear the codes and drive the vehicle until the Check Engine Light returns. If the code is now P0302, you have a bad ignition coil and/or wire.
- If the code remains P0304, the issue is not the coil or wire. Pull the spark plug from cylinder 4 and inspect it for wear (especially a wide electrode gap), damage, or fouling. If it appears worn, replace all four spark plugs.
- If ignition components are confirmed to be good, consider a fuel system issue. Swap the fuel injector from cylinder 4 with cylinder 2 and see if the misfire code follows the injector.
- If all else fails, perform an engine compression test to check for mechanical issues like a burnt valve or a failing head gasket. A healthy cylinder should have consistent readings with the others.
- For high-RPM specific misfires that are otherwise untraceable, inspect the crankshaft pulley for damage to the reluctor teeth. 🎬 Watch: How a faulty crankshaft pulley causes high-RPM misfires.
Parts You'll Likely Need

- Spark Plugs
(OEM #NGK: SILZKAR7B11 (for 2011-2013 FB25 engine))— Spark plugs are a primary wear item and the most frequent cause of a single-cylinder misfire.
Trusted brands: NGK, Denso
OEM price range: $60-$90
Aftermarket price range: $40-$80 - Ignition Coil
(OEM #22433AA590 (for 2009-2010 EJ25) or 22433AA641 (for Turbo models, sometimes used as upgrade))— The ignition coil is responsible for generating the spark. It can fail with age and heat, causing a misfire.
Trusted brands: Denso, Bosch, Hitachi, Subaru (OEM)
OEM price range: $80-$135
Aftermarket price range: $50-$100 - Valve Cover Gasket Kit
Related Codes That Often Appear With This One
- P0300 — If the misfire becomes more widespread due to a systemic issue like low fuel pressure or a large vacuum leak, a P0300 (Random/Multiple Cylinder Misfire) may appear alongside P0304.
- P0302 — Cylinders 2 and 4 are on the same side (driver's side) and share an ignition coil in a waste spark system. A problem with the coil pack itself or the shared wiring could potentially cause misfires on both cylinders, leading to both P0302 and P0304 codes.
- P0420 — A persistent misfire dumps unburnt fuel into the exhaust system. This can overheat and damage the catalytic converter, eventually leading to a P0420 (Catalyst System Efficiency Below Threshold) code.
Technical Service Bulletins (TSBs) & Recalls
- While no TSBs are specific to P0304 on the 2009-2010 EJ25, related TSBs for the next generation (2011+ with FB25 engine) like #11-116-12R exist for phantom misfire codes fixed by an ECM update, showing a history of misfire detection issues.
- Manufacturer TSB Bulletin #11-130-13R provides inspection and repair procedures for engine misfire DTCs P0301 through P0304 specifically for FA and FB engines.
- Manufacturer TSB Bulletin #11-100-11R notes that difficulty starting and rough idle may be accompanied by misfire codes P0301, P0302, P0303, and P0304.
- Bulletin #11-116-12R announces updated ECM reprogramming files to address misfire DTCs when no actual drivability condition is present.
Platform-Specific Known Issues
- High RPM Misfire (P0303/P0304) from Crank Pulley: A documented case on a 2009 Forester showed that persistent misfire codes only appearing above 5,000 RPM were caused by a damaged crankshaft pulley (harmonic balancer). The reluctor teeth were sending bad signals to the crank sensor. Replacing the pulley resolved the issue after all standard ignition and fuel system checks failed. This was discussed on both YouTube and subaruforester.org.
- Head Gasket Failure on Modified Forester XT: A Reddit user with a heavily modified 2009 Forester XT (swapped with an STI EJ257 block) experienced a P0304 code which was ultimately diagnosed as a head gasket failure. This occurred after a previous cooling system issue, highlighting that mechanical engine damage is a possible, though less common, cause.
- Misfire in Damp/Rainy Weather: A 2010 Forester owner reported misfires (with CEL, traction control, and cruise control lights) that would only occur in damp or rainy conditions. The problem was diagnosed as a failing ignition coil, and was resolved by replacing the coil and spark plug wires.
Mechanic-Grade Diagnostic Values
- Ignition Coil Secondary Resistance (2009-2010 EJ25) — expected: 9.5 - 12.9 kΩ. Failure: A reading outside of this range indicates a faulty coil.
- Spark Plug Wire Resistance (Cylinder 4, 2009-2010 EJ25) — expected: 8 - 20 kΩ. Failure: Significantly higher resistance or an open circuit (infinite resistance) indicates a bad wire.
- Fuel Pressure (Key on, engine off) — expected: Approximately 46 PSI. Failure: Significantly lower pressure indicates a weak fuel pump, clogged filter, or faulty regulator, which would likely cause multiple/random misfires (P0300) rather than just P0304.
- Short-Term Fuel Trim (at idle, via Subaru Select Monitor) — expected: Typically +/- 5%. Failure: A cylinder with a significant vacuum leak (like a bad intake gasket) may show a large negative trim (e.g., -10% or more) as the ECU pulls fuel to compensate for the extra unmetered air, while other cylinders remain normal.
- Injector Pulse Width (at idle) — expected: ~2.56 ms. Failure: While not a direct failure indicator on its own, this baseline value from a healthy engine provides a comparison point when diagnosing fuel system issues.
Hidden / Shadow Codes Worth Checking
- Mode $06 Misfire Counts: The ECU tracks the number of misfire events per cylinder even if the count is not high enough to trigger a P030x code. This is invaluable for diagnosing intermittent misfires. (see via A capable OBD-II scan tool that supports Mode $06. The data will show a test ID (e.g., TID $53 on some vehicles) and a component ID for each cylinder, along with a raw misfire count. Advanced tools like the Subaru Select Monitor may label this as 'Cylinder Roughness'.)
Scan Tool Commands That Help
- Subaru Select Monitor (SSM): Current Data Display / Live Data — Use this to view manufacturer-specific PIDs that generic scanners may not show. For P0304, this is critical for viewing individual cylinder 'roughness' counts and comparing fuel trims between cylinders to isolate the cause to ignition, fuel, or a mechanical/vacuum issue.
- Subaru Select Monitor (SSM): Freeze Frame Data (FFD) Display — When the P0304 code was set, the ECU saved a snapshot of all sensor values. Viewing this FFD can reveal the conditions (engine speed, load, temperature) under which the misfire occurred, helping to replicate and diagnose the problem.
Wiring & Ground Locations
- Ignition Coil Connector — On the ignition coil pack, located on the front-passenger side of the engine (2009-2010 EJ25).. The plastic locking tab on this 3-pin connector becomes brittle and often breaks, leading to a loose connection and an intermittent misfire on the corresponding cylinders (2 and 4 are on the same side of the coil).
- Engine Ground (Intake Manifold) — There are several ground points on the intake manifold.. The ignition system relies on solid grounding. A corroded or loose ground on the manifold, where many sensors and the ignition system reference their ground, can cause a weak spark and lead to phantom misfires.
- Engine Ground (Chassis) — A primary ground strap connects the engine block to the chassis, often near the firewall or strut tower.. A poor main engine ground can cause a host of electrical issues, including weak ignition spark. While it would likely cause multiple issues, it should be checked if misfires are persistent and hard to diagnose.
Real Owner Repair Stories
- subaruforester.org forum user (2010 Subaru Forester, 139k miles) — P0304 code, flashing cruise control light, oil leaking down the side of the engine over the motor mount.
❌ Tried (didn't work) Initial inspection only.
✅ What actually fixed it The user found oil in the spark plug tubes. The fix was to replace the valve cover gaskets and the spark plug tube seals, and clean the oil out of the wells. - Reddit user in r/subaru (2010 Subaru Forester) — P0303, P0304, and P0420 codes.
❌ Tried (didn't work) Initially unclear.
✅ What actually fixed it Replacing the ignition coil pack and spark plug wires resolved the P0303 and P0304 misfire codes. The P0420 code remained, likely due to previous damage to the catalytic converter from the misfires. - ultimatesubaru.org forum user (1999 Subaru Outback (SOHC EJ25, similar valve design), 120k+ miles) — P0304 code that appears at highway speed (~70mph), accompanied by a rough idle, but no noticeable misfire on acceleration.
❌ Tried (didn't work) Replacing spark plugs and wires., Using fuel injector cleaner.
✅ What actually fixed it The highly suggested cause was insufficient valve lash clearance ('tight valves'). The fix is a valve adjustment, a required periodic maintenance item on these SOHC engines that is often overlooked and can lead to burnt valves if ignored.
"I Checked Everything" — The Actual Cause
- A persistent high-RPM misfire like P0304 that does not resolve with ignition or fuel component swaps may be caused by a mechanical issue like insufficient valve lash ('tight valves'). This condition will not be detected by a smoke test for vacuum leaks, and may even pass a slow-cranking compression test, but will fail to seal properly at high engine speeds, causing the misfire.
OEM Part Supersession History
22433AA590→N/A— This is the correct and current OEM part number for the ignition coil on the 2009-2010 Forester with the 2.5L non-turbo EJ253 engine.
Heads up: This part is specific to the 2009-2010 EJ25 engine with a single coil pack and wires. It is not compatible with 2011-2013 FB25 engines, which use individual coil-on-plug units.
Model Year Variations Within This Range
- 2009-2010 (EJ253 Engine): Uses a single ignition coil pack (PN 22433AA590) with four spark plug wires. Diagnosis often involves testing the coil's secondary resistance (9.5-12.9 kΩ) and the resistance of the individual wires (8-20 kΩ for cyl 4). Known for valve cover gasket oil leaks into plug tubes and requires periodic valve lash adjustments.
- 2011-2013 (FB25B Engine): Uses a modern Coil-on-Plug (COP) ignition system, eliminating spark plug wires. A P0304 would prompt swapping the cylinder 4 coil with another cylinder to diagnose. This engine uses a timing chain (not a belt) and is more known for potential oil consumption issues than the head gasket issues of the EJ series.
Diagnostic Flowchart
Real Owner Stories
Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.
2009 Subaru Forester
Symptoms: Persistent misfire codes on cylinders 3 and 4 that would only appear when the engine was revved above 5,000 RPM.
What fixed it: Replaced the crankshaft pulley (harmonic balancer) because damaged reluctor teeth were sending bad signals to the crank sensor.
Source hint: subaruforester.org thread titled '2009 misfire cylinder 3 & 4 at high rpm'
2009 Subaru Forester XT (Modified with STI EJ257 block)
Symptoms: Experienced a P0304 code following a previous cooling system issue.
What fixed it: Diagnosed and repaired a head gasket failure, highlighting a mechanical engine damage cause.
Source hint: Reddit r/MechanicAdvice
2010 Subaru Forester
Symptoms: Misfires accompanied by the Check Engine Light, traction control light, and cruise control light illuminating, but only occurring in damp or rainy weather conditions.
What fixed it: Replaced a failing ignition coil and the spark plug wires.
Source hint: Context vehicle_specific_issues
Subaru EJ25 Engine
Symptoms: Persistent P0304 code that remained after replacing spark plugs and wires.
What fixed it: Swapped fuel injectors between cylinders to confirm the misfire followed the faulty injector, leading to injector replacement.
Source hint: ultimatesubaru.org thread titled 'P0304 Check Engine problem'
Related OBD-II Codes
Frequently Asked Questions
Is there a specific TSB for the P0304 code on my 2009-2010 Subaru Forester 2.5L?
I pulled the spark plug wire on cylinder 4 and found it soaked in oil. What parts do I need to fix this?
Why does my 2009 Forester only misfire and show P0304 at high RPMs (above 5,000 RPM)?
How can I test if the ignition coil is causing the P0304 code on my EJ25 engine?
My Check Engine Light is flashing and the traction control and cruise control lights are on. Can I keep driving?
I've already replaced the spark plugs and wires, but the P0304 code came back. What is the next easiest diagnostic step?
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.
- Subaru Forester:
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2009-2013 Subaru Forester
- 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
- Diagnostic Flowchart
- Real Owner Stories
- 2009 Subaru Forester
- 2009 Subaru Forester XT (Modified with STI EJ257 block)
- 2010 Subaru Forester
- Subaru EJ25 Engine
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off