How to Fix BMW P0304 Code: Causes, Diagnosis, and Repair Steps

What the BMW P0304 Code Means

If you are trying to figure out how to fix BMW P0304 code, start with the definition: P0304 means the engine control module has detected a misfire on cylinder 4.

In BMW vehicles, that misfire can come from ignition, fuel delivery, air leaks, compression loss, or wiring issues, and the exact cause depends on the engine family and symptoms.

A misfire on a BMW should not be ignored.

It can trigger rough idle, flashing check engine lights, poor fuel economy, loss of power, catalytic converter damage, and in some cases drivability issues that become worse under load.

Common BMW Symptoms That Point to P0304

Before replacing parts, confirm the problem with symptoms and scan data.

Cylinder 4 misfire often shows up in a consistent pattern, especially at idle or during acceleration.

  • Check engine light on, sometimes flashing
  • Rough idle or shaking at stoplights
  • Engine hesitation during acceleration
  • Reduced power or limp mode on some models
  • Fuel smell from the exhaust
  • Higher fuel consumption

Some BMW engines are sensitive to small ignition or vacuum problems, so even a minor fault can create a persistent P0304 code.

Most Common Causes of P0304 on BMW Engines

BMW uses precise fuel and ignition control, which means a single weak component can cause one-cylinder misfires.

The most common causes are usually easy to test before moving into deeper diagnostics.

Faulty ignition coil

Ignition coil failure is one of the most frequent causes of BMW misfire codes.

On many BMW inline-4, inline-6, and V8 engines, a weak coil can misfire only under load or after the engine heats up.

Worn or fouled spark plug

Old spark plugs can cause incomplete combustion, especially if the plug gap has opened up or the plug has oil or carbon deposits.

BMWs are particularly sensitive to plug condition and correct plug type.

Bad fuel injector

A clogged, leaking, or electrically failed injector on cylinder 4 can create a lean or rich misfire.

This is more likely if the misfire does not move when the coil and plug are swapped.

Vacuum leak or intake issue

Unmetered air entering the intake can lean out one cylinder or affect the mixture across the engine.

Common leak points include intake boots, cracked vacuum lines, valve cover gasket leaks, intake manifold gaskets, and PCV-related failures.

Compression problem

If cylinder 4 has low compression, the misfire may come from worn piston rings, a damaged valve, a head gasket issue, or timing-related mechanical wear.

This is less common than ignition faults but important to rule out.

Wiring or connector fault

Damaged wiring to the coil or injector, corrosion in a connector, or poor ground continuity can interrupt spark or fuel delivery and create an intermittent P0304 code.

How to Diagnose BMW P0304 Step by Step

The best way to fix BMW P0304 code is to isolate whether cylinder 4 has an ignition, fuel, air, or mechanical problem.

Use a scan tool if available, because BMW-specific data often makes diagnosis faster and more accurate.

1. Confirm the misfire is on cylinder 4

Check for related codes such as P0300, fuel trim codes, or injector circuit faults.

Review live misfire counters if your scanner supports BMW data, and confirm that cylinder 4 is the one consistently misfiring.

2. Inspect the spark plug and ignition coil

Remove the cylinder 4 coil and plug, then look for oil, cracked porcelain, excessive wear, or carbon tracking.

Swap the coil with another cylinder and clear the code.

If the misfire moves, the coil is likely the problem.

Repeat the same test with the spark plug if the coil does not appear to be the culprit.

If the misfire follows the plug, replace the spark plugs as a set using the correct BMW specification.

3. Check the injector

If ignition parts test good, move to the injector.

Listen for injector clicking with a stethoscope, inspect the connector, and consider swapping injectors if the engine design allows it.

A noid light or electrical test can help confirm injector pulse.

4. Look for vacuum leaks

Inspect intake tubing, PCV hoses, throttle body connections, and the intake manifold area.

A smoke test is one of the most effective methods for finding BMW vacuum leaks because small leaks can be difficult to spot visually.

5. Test compression

If the misfire persists after ignition and fuel checks, perform a compression test or leak-down test.

Consistently low compression on cylinder 4 points to a mechanical issue that must be repaired before replacing more parts.

How to Fix BMW P0304 Code in Order of Likelihood

Once you know the cause, repair the fault directly instead of guessing.

On many BMWs, the practical repair order is based on the most common failures first.

  • Replace a failed ignition coil if the misfire follows the coil swap
  • Install new spark plugs if the plug is worn, fouled, or incorrect
  • Repair or replace a failing fuel injector
  • Fix intake leaks, cracked hoses, or PCV problems
  • Repair damaged wiring, connectors, or grounds
  • Address compression loss or timing/mechanical damage

After the repair, clear the codes and perform a road test.

A successful repair should eliminate the misfire counters and prevent the code from returning.

BMW Models and Engine Types Where P0304 Is Common

P0304 can appear across many BMW models, including the 3 Series, 5 Series, X3, X5, 1 Series, 4 Series, and various M models.

It is seen on engines such as the N20, N52, N54, N55, B48, B58, and several V8 variants, though the exact repair path may differ by platform.

Turbocharged BMW engines may show misfires more aggressively under boost because ignition demands are higher.

Naturally aspirated engines may show rough idle first, especially when plugs, coils, or intake components are aging.

What Not to Do When Diagnosing P0304

A common mistake is replacing all spark plugs and coils without confirming the root cause.

While that may temporarily help, it can miss injector faults, vacuum leaks, or compression problems.

Avoid clearing the code repeatedly without checking misfire data.

The code is a symptom, not the diagnosis.

Also avoid driving long distances with an active misfire, especially if the check engine light is flashing, because raw fuel can damage the catalytic converter.

When to Get Professional BMW Diagnostics

Professional help is a good idea if the misfire returns after basic parts swapping, if you have multiple codes, or if compression and fuel system testing require specialized tools.

A BMW-capable scan tool, smoke machine, fuel pressure gauge, and leak-down tester can save time and prevent unnecessary parts replacement.

If you are learning how to fix BMW P0304 code, the key is to follow the evidence: confirm the cylinder, test ignition first, then fuel, then air leaks, and finally mechanical condition.

That approach gives you the best chance of solving the misfire accurately and avoiding repeat repairs.

Similar Posts