P0304 Code: How to Diagnose Cylinder 4 Misfire
P0304 Cylinder 4 Misfire: Causes & How to Fix It. See symptoms, common causes, driving risk and checks that help confirm the fault before parts are replaced.

Save all codes and freeze-frame data. The code tells you what the control module detected, not which component must be replaced.
Quick answer
The P0304 code means cylinder 4 in your engine is misfiring, detected by the ECM when it sees a loss of power or irregular combustion in that specific cylinder. This triggers the check engine light and often causes a rough idle or hesitation. The issue can stem from spark, fuel, compression, or sensor problems.
What P0304 Code Means and How to Fix It
Understanding the Misfire Mechanism
The engine control module (ECM) continuously monitors crankshaft speed through the crankshaft position sensor (CKP). When cylinder 4 fails to fire properly, the crankshaft's rotational speed drops slightly at the expected firing moment. The ECM detects this deviation; typically a 2-5% drop in RPM over a set number of engine cycles; and logs P0304. Unlike random misfire codes (P0300), P0304 isolates the problem to cylinder 4, which helps narrow diagnostics significantly.
Common Causes of a Cylinder 4 Misfire
In most cases, the root cause is one of four systems. Spark-related issues are the most frequent: a faulty spark plug, a damaged wire, or a failing coil-on-plug (COP) or ignition coil. Fuel delivery problems come next, such as a clogged or dead fuel injector, low fuel pressure from a weak pump, or dirty fuel. Air-fuel mixture issues, like a vacuum leak near cylinder 4's intake runner, can also lean out the charge and cause a misfire. Less commonly, low compression due to a burned valve, worn piston rings, or a blown head gasket can trigger P0304, but these usually produce additional symptoms like excessive oil consumption or coolant loss.
How to Diagnose and Fix P0304
Start with the simplest checks. Inspect the spark plug for cylinder 4: look for cracks, excessive gap, or oil/fuel fouling, and replace it if damaged. Swap the plug with another cylinder; if the misfire moves to that cylinder's code (e.g., P0301), the plug is likely the culprit. Next, check the ignition coil: swap it with a known-good coil from another cylinder; if the misfire follows the coil, replace it. Use a multimeter to test coil resistance if swapping isn't practical (values vary by vehicle, so consult a repair manual).
If spark components are fine, move to fuel. Listen for injector clicks with a mechanic's stethoscope or use a noid light to confirm the injector is pulsing. A clogged injector may need cleaning or replacement. Check fuel pressure at the rail; low pressure could indicate a failing pump or clogged filter. For vacuum leaks, spray carb cleaner around the intake manifold near cylinder 4's runner; a temporary RPM change confirms a leak.
If all else fails, a compression test or leak-down test can reveal internal engine issues. These require more advanced tools and are best left to a professional if you're not experienced. Always clear the code after each repair to see if it returns.
Symptoms You Might Notice
A P0304 code commonly causes a rough or shaking idle, especially in vehicles with fewer cylinders where the imbalance is more noticeable. You may feel hesitation or a stumble during acceleration as the engine struggles to maintain power. In some cases, the check engine light will flash, indicating a severe misfire that can damage the catalytic converter if driven repeatedly.
Repair Costs for P0304
Repairs typically range from $150 to $1,000+ depending on the cause. For example, replacing a spark plug or coil is usually on the lower end, while a fuel injector or internal engine repair can push costs higher. See the full P0304 repair cost guide for a detailed breakdown.
Can You Still Drive With Code P0304?
Driving with a P0304 code is not recommended for long distances or at high speeds. A persistent misfire can overheat and damage the catalytic converter, leading to a much costlier repair. If the check engine light is flashing, stop driving immediately and have the vehicle towed to avoid further damage.
Details that improve the diagnosis
Watch the misfire counters at idle, during a gentle increase in engine speed and under load if a safe road test is possible. Compare fuel trims and note whether the fault follows temperature, moisture or a recent service. A cylinder pattern is often more useful than the code description alone.
Before clearing anything, record whether the code is current, pending, history or permanent. Save companion codes and freeze-frame conditions, then note recent repairs, a weak battery, weather changes and the exact moment the symptom appears. After a confirmed repair, clear only the erasable codes and complete the appropriate drive cycle. A permanent code normally clears only after the onboard monitor verifies that the fault is gone.
Related trouble codes
Information to record before any repair
Write down the exact code, its status and every companion code reported by a complete vehicle scan. Save the freeze-frame values, including engine speed, load, coolant temperature, vehicle speed, battery voltage and fuel trims when available. Note whether the warning appeared during a cold start, at idle, under acceleration, after refueling, in wet weather or immediately after other work. These details help separate an intermittent electrical problem from a repeatable mechanical or operating-condition fault.
Identify the exact year, make, model, engine, transmission and market version before using a wiring diagram or specification. Connector pinouts, monitor thresholds, component locations and test procedures can change within the same model line. Check current manufacturer service information and relevant technical service bulletins. A bulletin can improve the test sequence, but it should not be treated as proof that the same fault exists on every vehicle.
How to verify the repair
A warning light that stays off immediately after codes are cleared does not by itself confirm a repair. Recheck live data, repeat the operating condition that originally set the code when it is safe to do so, and confirm that no pending code returns. Some monitors need a specific drive cycle before they run. Permanent codes are normally removed by the control module only after it sees enough successful monitor results. If symptoms remain or the code returns, continue testing instead of replacing another part by guesswork.