P0304

Cylinder 4 Misfire Detected

SEVERE
SystemIgnition
Difficulty
Cost$30–$600
Read8 min
MR
ASE Master Technician (L1 Advanced Engine Performance) · 18 yrs
·
Technically reviewed by Sara Lopez
·
Last updated

What Does P0304 Mean?

P0304 is a generic OBD-II diagnostic trouble code stored when the Subaru Forester's control module detects cylinder 4 misfire detected. In plain English: Cylinder 4 specifically is misfiring. On Subaru flat-4 engines, swap the coil with cylinder 2 and recheck — diagnoses the coil in five minutes.

On the Subaru Forester (2010–2018), this code falls under the Ignition group. It's not always catastrophic on its own — the value is in the diagnostic information it gives you. Treat P0304 as a starting point for testing, not a parts list.

Repair complexity is typically a 2/5 wrench rating, with parts-and-labor estimates ranging from $30 on the low end to about $600 for worst-case shop repairs including diagnostic fees.

Symptoms

Check engine light
Steady illumination after the code matures. Some Subaru models also store a freeze-frame snapshot.
Drivability change related to ignition
May be subtle — owners often notice fuel economy, idle quality, or shift feel before they notice the light.
Possible related codes
Codes in the same system family often set together. Pull the full code list, not just the first one.
Risk of secondary damage if ignored
Continued driving can damage related components. Address promptly.
Ad · 728x90

Common Causes

  1. 1.Failed component within the Ignition system
    45%

    The most common single point of failure. Verify with a direct test — don't replace based on the code alone.

  2. 2.Wiring or connector fault
    25%

    Corroded pins, chafed insulation, and bad grounds mimic part failures. Check the harness before condemning a sensor or actuator.

  3. 3.Related upstream issue
    20%

    Other faults in the ignition group can cascade and set P0304 as a downstream effect.

  4. 4.Software / calibration / TSB
    10%

    Check for an open Subaru technical service bulletin or PCM reflash before opening your wallet.

Step-by-Step Diagnosis

1

Pull all stored and pending codes

Connect an OBD-II scan tool and read every code in the powertrain module — not just P0304. Note the order they set in, and capture the freeze-frame data.

> SCAN /pcm/dtc
P0304  ACTIVE   (freeze-frame: RPM=824, CTS=183°F)
MONITORS: O2=READY, CAT=READY, EVAP=NOT READY
2

Review freeze-frame and live data

The freeze-frame tells you the operating conditions when the code set (RPM, load, coolant temp, vehicle speed). Match it against live data while you try to reproduce the fault.

Pro TipIf the code sets cold and clears warm — or vice versa — that's a huge diagnostic shortcut.
3

Inspect the affected circuit visually

Before any electrical testing, pop the hood and follow the harness for the suspect component. You're looking for chafing, melted insulation, oil contamination at the connector, and corroded pins.

WarningMore than a third of intermittent sensor codes are wiring, not the sensor. A 10-minute inspection beats a $200 parts swap.
4

Test the suspect component directly

Use a DMM, scope, or bidirectional scan-tool command to test the primary suspect. Compare against the Subaru factory spec — generic values can be misleading.

5

Clear, drive, and recheck

Clear the code, complete a full drive cycle appropriate for this monitor, and rescan. If the code returns immediately, you're on the right path; if it stays gone, monitor for a week before declaring victory.

How to Fix It

DifficultyTime 2–3 hrs

Parts needed:

Procedure:

  1. Disconnect the negative battery terminal and wait 60 seconds.
  2. Locate the primary component identified in your diagnosis.
  3. Photograph the connector orientation and harness routing before removal.
  4. Remove the failed component using the correct socket or specialty tool.
  5. Install the new part, torquing fasteners to factory spec.
  6. Reconnect the battery and clear the code with your scan tool.
  7. Drive a full warm-up cycle and rescan to confirm the fix held.

Will It Pass Emissions?

// DECISION TREE
STARTCheck engine light on?
YES →FAIL
NO →Readiness monitors set?
YES →PASS
NO →RETESTdrive 50–100 miles to set monitors

Repair Cost Breakdown

Part / RegionDIY CostShop LaborTotal Range
Independent shop (national average)$330–$480
Dealership$480–$600
DIY (parts only)$30–$210

Estimates based on aggregated independent shop quotes; dealer labor adds 30–50%. Excludes diagnostic fee ($80–$150).

Ad · 300x600

FAQs

No — P0304 is rated severe on the Subaru Forester. Continued driving can cause secondary damage to related components. Get it diagnosed within a day or two.
Ad · 728x90

Sources & References

  • §SAE J2012 — Diagnostic Trouble Code Definitions Standardized OBD-II code definitions used by all manufacturers.
  • §EPA OBD Regulations (40 CFR §86.1806-05) Federal on-board diagnostic requirements for light-duty vehicles.

Cost figures are aggregated from real customer invoices at our shop plus quotes from RepairPal and Mitchell1 labor guides. Diagnostic procedures verified against factory service information (ALLDATA / Mitchell1).

// About the author

Mike ReevesIndependent shop owner in Phoenix, AZ. Specializes in driveability diagnostics on domestic and Asian gas engines. Writes our powertrain coverage. More about our team →

Related Codes