P0304 on 2009-2019 Toyota Corolla: Cylinder 4 Misfire Causes and Fixes
For a 2009-2019 Toyota Corolla, code P0304 almost always points to a bad ignition coil or a worn spark plug on cylinder 4. The most common fix is replacing the faulty ignition coil (OEM Part #90919-02258). A new aftermarket ignition coil costs about $30-$75 and is a very simple 10-minute DIY fix requiring only a 10mm socket.
- P0304 means your Corolla has a misfire in cylinder 4, the one closest to the driver's side.
- The most likely cause is a bad ignition coil, which is a simple and inexpensive DIY fix.
- Always perform the 'coil swap test' before buying any parts to confirm the coil is the problem.
- If the coil is not the issue, check the spark plug next.
- Driving with a flashing check engine light can cause expensive damage to your catalytic converter, so address the issue promptly.
What's Unique About the 2009-2019 Toyota Corolla
The 2ZR-FE engine in this era of Corolla is generally very reliable, and misfire codes are straightforward. Unlike some newer Toyota engines that have TSBs for cold-start misfires due to complex valvetrain issues, the P0304 on the 2ZR-FE is almost always a basic ignition system failure. The most common culprits are the individual coil-on-plug ignition coils, which are known to fail with age and heat cycles. The diagnostic process is simple and very DIY-friendly, with countless owners successfully performing the 'swap test' at home.
Generation note: This guide covers the 10th (2009-2013) and 11th (2014-2019) generations of the Toyota Corolla. Both generations use the 1.8L 2ZR-FE engine with a similar coil-on-plug ignition system, making the causes and diagnostic steps for P0304 nearly identical between them.
Symptoms You May Notice
- Rough or shaky idle
- Engine hesitation or stumbling during acceleration
- Flashing or solid Check Engine Light
- Noticeable loss of power
- Decreased fuel economy
- Smell of unburned gasoline from the exhaust
- Engine vibration felt in the cabin
- Replacing all four spark plugs and coils without performing the 'swap test' first. This can be expensive and unnecessary if only one coil is bad.
- Assuming a recently replaced part is good. Forum users frequently advise to 'never assume anything is good because it was recently replaced' and to perform the swap test even on new parts.
Most Likely Causes
- Faulty Ignition Coil 🔴 High Probability → Shop Ignition Coil Coil-on-plug ignition coils are subjected to significant heat and vibration directly on top of the engine, and they are a common failure item on most modern vehicles as they age. This is the most frequently cited cause for a P0304 on this Corolla in owner forums.
How to confirm: Perform the 'swap test'. Swap the ignition coil from cylinder 4 with the one from cylinder 3. Clear the codes and drive the vehicle. If the code changes to P0303 (Cylinder 3 Misfire), the ignition coil is confirmed to be faulty. This is the universally recommended first step.
Typical fix: Replace the faulty ignition coil. It is held in place by a single 10mm bolt and can be replaced in under 10 minutes. 🎬 Watch: A quick walkthrough on replacing your ignition coils.
Est. part cost: $30-$75 - Worn or Fouled Spark Plug 🟡 Medium Probability → Shop Spark Plug Spark plugs are a regular maintenance item. The original Denso Iridium plugs have a long life (up to 120,000 miles), but can still fail or become fouled by oil consumption, which can be an issue on some higher-mileage 2ZR-FE engines.
How to confirm: After confirming the coil is good, remove the spark plug from cylinder 4. Inspect it for wear (rounded electrode), oil, or carbon fouling. A spark plug covered in oil is a strong indicator of both the misfire's cause and a separate oil consumption problem. Compare it to a plug from a different cylinder.
Typical fix: Replace the spark plug. It is recommended to replace all four spark plugs at the same time with the correct OEM-spec plugs (Denso SC20HR11 or SC16HR11) to maintain even performance. 🎬 See how to properly replace spark plugs on 2014-2019 models.
Est. part cost: $8-$15 per plug - Clogged or Faulty Fuel Injector ⚪ Low Probability → Shop Fuel Injector Fuel injectors are generally reliable on this platform but can become clogged over time due to fuel contaminants or deposits. This is a less common cause but should be considered if ignition components are confirmed to be good.
How to confirm: This is more difficult to diagnose. A professional can perform a fuel injector balance test. A DIY method involves swapping the injector from cylinder 4 with another cylinder (e.g., cylinder 3) to see if the misfire code follows. This is more involved than a coil swap. Listening to the injector with a mechanic's stethoscope to hear if it's clicking like the others is another quick check.
Typical fix: Replace the faulty fuel injector. The fuel rail will need to be removed.
Est. part cost: $50-$150
Rare But Worth Checking
- Low Cylinder Compression: This indicates a more serious internal engine problem, such as a bad valve or worn piston rings. A compression test should be performed if ignition and fuel system checks do not resolve the issue. A YouTube video by 'Pine Hollow Auto Diagnostics' on a 2009 Corolla with P0304 showed a burnt valve as the ultimate cause after extensive testing.
- Vacuum Leak: A vacuum leak specific to the intake manifold runner for cylinder 4 could cause a lean misfire. This is uncommon but possible, though intake manifold gaskets are a known failure point on the related 1ZZ-FE engine and can cause lean codes and misfires. A visual inspection of vacuum hoses is a good first step.
- Rodent Damage to Wiring: In one documented case, chewed wires for the purge valve solenoid, located near the ignition coils, were discovered while diagnosing a misfire, highlighting the need for a thorough visual inspection of the engine bay for any damage.
- Corrosion in ECM Connector: While documented on other Toyota models like the Highlander, manufacturer bulletins T-TT-0462-17 and T-SB-0072-19 note that corrosion and water in the A43 ECM connector can cause low fuel pressure and a variety of DTCs including P0304.
Diagnosis Steps
- Verify the code P0304 is present using an OBD-II scanner.
- Locate cylinder 4. On the 2ZR-FE engine, cylinders are numbered 1-2-3-4 from left to right (passenger side to driver's side in LHD vehicles). Cylinder 4 is on the far driver's side.
- Perform a visual inspection. Look for obvious issues like oil leaking from the valve cover onto the coil/spark plug, or any chewed/damaged wiring harnesses.
- Swap the ignition coil from cylinder 4 with the coil from cylinder 3. Use a 10mm socket to remove the single bolt holding each coil.
- Clear the trouble codes with the scanner.
- Start the engine and let it run for a few minutes, or take a short drive. The code may reappear quickly, sometimes as a 'pending' code.
- Re-scan for codes. If the code is now P0303, the ignition coil you moved to cylinder 3 is bad. Replace it.
- If the code remains P0304, the coil is likely good. Move the coil back to its original position.
- Next, swap the spark plug from cylinder 4 with the spark plug from cylinder 3. Clear codes and re-test.
- If the code moves to P0303, the spark plug is the culprit. It is best practice to replace all four spark plugs.
- If the code remains P0304 after swapping the coil and plug, the issue is likely with the fuel injector or, less commonly, a mechanical engine problem (low compression) or a wiring issue. Further diagnosis is required.
Parts You'll Likely Need
- Ignition Coil
(OEM #90919-02258 (supersedes 90919-02252))— This is the most frequent cause of a single-cylinder misfire on the 2ZR-FE engine due to failure from heat and age.
Trusted brands: Denso (OEM), NGK, Delphi
OEM price range: $90-$144
Aftermarket price range: $30-$75 - Iridium Spark Plug
(OEM #Denso SC20HR11 (or superseded SC16HR11))— Spark plugs are a maintenance item and can cause misfires when worn, fouled, or damaged. Using the correct plug is critical.
Trusted brands: Denso (OEM), NGK
OEM price range: $12-$20
Aftermarket price range: $8-$15
Related Codes That Often Appear With This One
- P0300 — If the misfire becomes more frequent or other cylinders start to misfire, a P0300 (Random/Multiple Misfire) may appear alongside P0304.
- P0301, P0302, P0303 — If multiple specific cylinder misfire codes are present, it could point to a systemic issue like a failing fuel pump, clogged catalytic converter, or multiple failed coils.
Technical Service Bulletins (TSBs) & Recalls
- T-SB-0087-09: Describes a fix for a cold-start rattle from a faulty VVT gear assembly in 2009 Corolla/Matrix models, an issue separate from but relevant to overall engine health.
- T-SB-0148-19: A manufacturer bulletin for other Toyota models that outlines repair procedures for misfire codes P0301 through P0306, including P0304.
- T-SB-0072-19: Notes that driveability concerns and DTC P0304 can be caused by corrosion or water in the ECM connector, leading to low fuel pressure.
Platform-Specific Known Issues
- While the 2009-2019 Corolla with the 2ZR-FE is not covered, it's worth noting that newer Corollas (2019+) with M20A-FKS engines have a Technical Service Bulletin (T-SB-0010-24 Rev2) for misfires in cold temperatures caused by faulty valve lash adjusters. This is not a common issue for the vehicle in this guide.
Mechanic-Grade Diagnostic Values
- Fuel Injector Resistance — expected: 11.6 to 12.4 Ω at 20°C (68°F). Failure: A reading outside this range indicates a faulty injector.
- Fuel Pressure (at fuel rail) — expected: 44 to 50 psi. Failure: Pressure below this range can indicate a weak fuel pump or clogged filter. Pressure should hold steady when revving the engine.
- Ignition Coil Primary Resistance — expected: 0.49 to 0.57 Ω. Failure: A reading outside this range indicates a faulty primary winding in the coil.
- Ignition Coil Secondary Resistance — expected: 9.5 to 11.1 kΩ. Failure: A reading outside this range indicates a faulty secondary winding in the coil.
Hidden / Shadow Codes Worth Checking
- Mode $06, TID $0C, CID $01-$0C: This is not a DTC, but raw data from the ECU's misfire monitor. Techstream can display misfire counts for each cylinder from the last 10 driving cycles (EWMA) and the current drive cycle. This allows a technician to see if cylinder 4 is accumulating misfires even if the count is not yet high enough to set a P0304 code and illuminate the CEL. It's invaluable for diagnosing intermittent issues. (see via Toyota Techstream software, under the 'Monitor' screen, then 'Details' for Misfire.)
Scan Tool Commands That Help
- Toyota Techstream: Active Test: Control the Injector Cut — This function allows the technician to individually shut off fuel to each cylinder. To test cylinder 4, select it and run the test at idle. If there is little or no change in engine RPM and roughness, it confirms that cylinder 4 was not contributing power, pointing strongly to a problem with that cylinder (coil, plug, injector, or compression). If RPM drops significantly, the injector and combustion are likely occurring.
- Toyota Techstream: Active Test: Fuel Pump / Speed — This allows you to command the fuel pump on to verify its operation and to build pressure for testing without needing to crank the engine. It's useful when diagnosing a no-start or when checking for fuel pressure issues.
- Toyota Techstream: Utility: Check the Cylinder Compression — This utility uses the crankshaft position sensor to measure the speed of each compression stroke while cranking the engine. It provides a relative compression reading without removing the spark plugs. A cylinder with significantly lower cranking RPM than the others indicates a potential compression loss.
Wiring & Ground Locations
- ECM Connector B, Pin B29 — At the Engine Control Module (ECM), which is typically located in the engine bay near the battery or inside the cabin.. This is the pin for the IGT4 signal, the ignition trigger for cylinder 4. A technician can back-probe this pin to check for a square wave signal from the ECM with an oscilloscope, confirming the ECM is commanding the coil to fire. The wire color is typically Yellow.
- ECM Connector B, Pin B26-B29 (IGF) — At the Engine Control Module (ECM).. This is the Ignition Confirmation (IGF) signal, a shared feedback wire from all ignition coils to the ECM. If the IGF signal is lost after the IGT command is sent, the ECM knows the coil failed to fire and can set a misfire code. A break in this wire can cause misfire codes.
- Cylinder 4 Injector Wires — At the fuel injector for cylinder 4.. The two wires for the injector can be tested for a pulse signal from the ECM using a noid light or oscilloscope. This confirms the ECM is commanding the injector to open. A lack of signal points to a wiring or ECM driver issue.
Real Owner Repair Stories
- Reddit user on r/MechanicAdvice (2009 Scion xD, 107,000 miles (same 2ZR-FE engine)) — Rough idle, heavy vibration at a stop, compromised acceleration, flashing check engine light.
❌ Tried (didn't work) Replaced spark plugs.
✅ What actually fixed it Replacing all four ignition coils. A shop performed a compression test showing varied results (Cyl 1: 130, Cyl 4: 175) and recommended an engine rebuild, but the owner fixed the issue by replacing the coils, saving thousands. This highlights that low compression readings can sometimes be misleading or a secondary symptom. - YouTube - 'The Car Care Nut' (2004 Toyota Corolla (1ZZ-FE engine, but same principle)) — Multiple misfire codes (P0300, P0301-P0304) and a lean code (P0171).
❌ Tried (didn't work) Initial assumption might be ignition or fuel system parts.
✅ What actually fixed it A leaking intake manifold gasket. This was diagnosed by spraying brake cleaner around the intake manifold runners with the engine running and listening for a change in engine RPM. This is a common failure on the 1ZZ/2ZR family and can cause a single-cylinder misfire if the leak is isolated to one runner, or random misfires if it affects the whole manifold. - NHTSA ODI #11665224 — An owner reported getting error code P0304, describing that the engine starts shaking and most dashboard warning lights illuminate.
- NHTSA ODI #11623185 — A report describes a vehicle losing power where a mechanic retrieved codes P0300, P0302, P0303, and P0304, indicating multiple parts required replacement.
OEM Part Supersession History
90919-02252→90919-02258, and also cross-references to 90919-C2003— Standard part revision and consolidation by the manufacturer.
Heads up: While many aftermarket coils are available and function, owner forums frequently report premature failure or subtle performance issues with unbranded, cheap online options. Sticking with Denso (OEM) or reputable brands like NGK is highly recommended to avoid repeat failures.
Model Year Variations Within This Range
- 2009-2012: Earlier 2ZR-FE engines are more susceptible to developing oil consumption issues due to piston ring design. This can lead to P0304 by chronically fouling the spark plug in cylinder 4. While not a guaranteed problem, it's a known pattern. A TSB was issued for the related 2ZR-FXE engine in the Prius for this issue. Owners of higher-mileage early models should be particularly alert to oil-fouled plugs as the root cause.
Diagnostic Flowchart
Other Known Issues on This Vehicle
Issues unrelated to this code that are worth knowing about as an owner of this generation:
- Excessive Oil Consumption 🟠 Medium — More common in earlier models (2009-2011) and at higher mileage. Caused by piston ring design. Many owners report consuming 1-2 quarts between oil changes. (Ref: While no formal recall for the 2ZR-FE exists, Toyota did issue a TSB and an ECU firmware update for some early models to address the issue.)
- VVT Cam Gear Rattle on Cold Start 🟡 Low — A brief (1-2 second) rattle upon starting the engine when cold is a well-documented issue. It's caused by a weak locking pin spring inside the VVT-i gear assembly. (Ref: T-SB-0087-09 was issued for the 2009 Corolla/Matrix, identifying a faulty camshaft timing gear assembly as the cause.)
- Water Pump Failure 🟠 Medium — Premature water pump failure (leaking coolant) has been reported, sometimes as early as 30,000-60,000 miles, though it's not extremely widespread. It's considered a design weakness.
- Faulty Alternator 🟡 Low — Failure of the alternator is a known possibility at higher mileage, leading to a battery light and the battery not charging.
Used vs. New Parts: Buying Guide for This Vehicle
When a used part is the smart pick: A used ignition coil from a low-mileage donor vehicle can be a cost-effective way to perform a 'swap test' or for a temporary repair. Given the low cost of new aftermarket coils, a used part is primarily for diagnosis, not a long-term solution.
Donor-vehicle mileage cap: roughly under 80000 miles for the part to have meaningful remaining life.
What to inspect on the donor part:
- Check the plastic housing for cracks or signs of heat stress.
- Ensure the rubber boot is pliable, not dry, swollen, or cracked.
- Look for clean electrical contacts without corrosion.
- Avoid parts from engines that show signs of heavy oil leaks or overheating.
OEM-only on this vehicle (don't cheap out):
- While not strictly 'OEM-only', using Denso (OEM) or NGK for ignition coils and spark plugs is strongly recommended by mechanics and experienced owners to avoid the common issue of premature failure from cheaper aftermarket brands.
Aftermarket brands forum-validated for this vehicle:
- Denso (OEM for coil and plug)
- NGK (Coil and plug)
- Delphi (Coil)
Brands owners have reported issues with on this vehicle:
- Unbranded, no-name ignition coils sold on sites like eBay and Amazon. While tempting due to very low prices, they have a high failure rate and can cause diagnostic headaches.
Real Owner Stories
Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.
2014 Toyota Corolla 1.8L 2ZR-FE
Symptoms: Cylinder 4 misfire; owner had already replaced the spark plug and coil but the code persisted.
What fixed it: The community advised performing a swap test with the 'new' coil to another cylinder to verify if the new replacement part was faulty out of the box.
Source hint: Reddit r/MechanicAdvice
2010 Toyota Corolla 1.8L 2ZR-FE
Symptoms: P0304 code accompanied by strong vibrations; changing spark plugs did not resolve the issue.
What fixed it: Swapping the ignition coil from cylinder 4 to another cylinder to confirm the coil was the failure point.
Source hint: Reddit r/AskAShittyMechanic
2009 Toyota Corolla 1.8L 2ZR-FE — ~150000 miles
Symptoms: P0304 misfire that persisted even after replacing both spark plugs and ignition coils.
What fixed it: Replacing the fuel injector after ignition components were ruled out.
Source hint: Reddit r/mechanic
Related OBD-II Codes
Frequently Asked Questions
Where is cylinder 4 located on my 2009-2019 Corolla 1.8L engine?
Which specific spark plugs should I use for my 2ZR-FE engine to fix a P0304?
Does T-SB-0087-09 regarding the VVT gear rattle apply to my 2009 Corolla?
Could my P0304 misfire be related to the cold temperature valve lash issue mentioned in T-SB-0010-24 Rev2?
Is there a specific tool needed to replace the ignition coil on my Corolla?
Can oil consumption on my high-mileage 2ZR-FE cause a P0304 code?
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.
- Toyota Corolla:
- 🧭 Diagnostic Flowchart
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2009-2019 Toyota Corolla
- 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
- Model Year Variations Within This Range
- Other Known Issues on This Vehicle
- Used vs. New Parts: Buying Guide for This Vehicle
- Real Owner Stories
- 2014 Toyota Corolla 1.8L 2ZR-FE
- 2010 Toyota Corolla 1.8L 2ZR-FE
- 2009 Toyota Corolla 1.8L 2ZR-FE — ~150000 miles
- Related OBD-II Codes
- Frequently Asked Questions
- 🎟️ Get 5% Off