Why Does BMW Show P0304 Code? Causes, Symptoms, and Fixes
If your BMW shows a P0304 code, the engine control unit has detected a misfire on cylinder 4.
This guide explains the most common BMW-specific causes, how the fault presents, and the fastest way to diagnose it before it damages the catalytic converter.
What does BMW P0304 mean?
P0304 is a generic OBD-II diagnostic trouble code that means “cylinder 4 misfire detected.” In BMW models, the code is stored when the DME or ECU sees uneven crankshaft speed changes that point to incomplete combustion in the fourth cylinder.
The code does not identify the exact failed part.
It only tells you that cylinder 4 is not firing correctly, which can happen because of ignition, fuel delivery, air leakage, compression loss, or engine management issues.
Why does BMW show P0304 code?
A BMW shows P0304 when cylinder 4 fails to burn the air-fuel mixture consistently enough for the engine computer to maintain smooth operation.
BMW engines are sensitive to misfires, so even a small issue can trigger the code quickly, especially during cold starts, idle, or light acceleration.
Common reasons include a worn spark plug, failed ignition coil, clogged fuel injector, vacuum leak near cylinder 4, low compression, carbon buildup, wiring faults, or a problem in the BMW’s crankcase ventilation system.
On turbocharged engines, boost leaks and intake seal issues can also contribute to a misfire on one cylinder.
Common symptoms of a P0304 BMW misfire
When cylinder 4 misfires, the vehicle often shows several drivability symptoms.
Some are minor at first, but they usually become more noticeable under load or after the engine warms up.
- Rough idle or shaking at stoplights
- Engine hesitation during acceleration
- Reduced power or limp mode
- Check Engine Light flashing or staying on
- Poor fuel economy
- Fuel smell from the exhaust
- Hard starting or extended cranking
If the Check Engine Light flashes, the misfire is severe enough to risk catalytic converter damage.
In that case, avoid driving the car until the cause is inspected.
Most common causes of BMW P0304
1. Bad spark plug
A worn, fouled, or incorrectly gapped spark plug is one of the most common reasons BMW owners see a P0304 code.
BMW engines are known to be sensitive to plug condition, and plugs nearing the end of their service life can cause intermittent cylinder 4 misfires before any other symptoms appear.
Oil fouling, carbon deposits, cracked insulators, or heat damage can all reduce spark quality.
If the plug from cylinder 4 looks different from the others, it is a strong clue.
2. Failed ignition coil
BMW ignition coils are a frequent source of misfire codes.
A weak coil may work under light load and fail only when cylinder pressure rises, which makes diagnosis tricky.
One common test is swapping the cylinder 4 coil with another cylinder and seeing whether the code follows the coil.
If the misfire moves to a different cylinder, the coil is likely bad.
If it stays on cylinder 4, the problem lies elsewhere.
3. Fuel injector problem
A clogged, leaking, or electrically faulty injector can prevent cylinder 4 from receiving the correct amount of fuel.
BMW direct injection engines are especially sensitive to injector performance because fuel delivery must be precise.
Injector-related symptoms may include a rough cold start, fuel trim irregularities, and a consistent misfire on the same cylinder.
In some cases, injector adaptation or coding is required after replacement on certain BMW engines.
4. Vacuum or intake leak
Unmetered air entering near cylinder 4 can create a lean condition that leads to misfire.
Common leak points include intake manifold gaskets, cracked vacuum hoses, PCV lines, intake boots, and valve cover ventilation components.
BMW inline-six and four-cylinder engines often develop leaks around plastic intake parts as they age.
A smoke test is one of the best ways to find them.
5. Low compression or mechanical damage
If the cylinder has poor compression, no ignition or fuel component will fully solve the problem.
Causes include worn piston rings, a burned valve, head gasket failure, timing issues, or internal engine wear.
Compression testing and leak-down testing help separate mechanical problems from electrical or fuel-related faults.
6. Wiring or connector faults
Damaged wiring to the cylinder 4 coil or injector can interrupt spark or fuel delivery.
Heat, oil contamination, and vibration can weaken connectors over time.
BMW engine bays often have tight packaging, so inspecting harness routing and connector pins is important.
7. Carbon buildup on direct-injection engines
Many BMW direct-injection engines develop intake valve carbon buildup, which can reduce airflow and disrupt combustion.
This issue is more likely on higher-mileage vehicles and can create rough idle, cold-start misfires, and a persistent P0304.
How to diagnose BMW P0304 step by step
A systematic diagnosis saves time and avoids replacing good parts.
Start with the simplest checks and work toward more advanced testing.
- Read all fault codes with a BMW-capable scan tool and note freeze-frame data.
- Inspect the spark plug from cylinder 4 for wear, fouling, or damage.
- Swap the cylinder 4 ignition coil with another cylinder and check whether the misfire follows.
- Inspect the injector connector, harness, and visible fuel system components.
- Check for vacuum leaks around the intake, PCV system, and hoses.
- Review fuel trims, misfire counters, and engine data for clues.
- Perform a compression or leak-down test if ignition and fuel parts test normal.
If the code appears only under certain conditions, such as cold start or high load, record when it happens.
That pattern can point directly to an injector issue, coil weakness, or air leak.
Can you drive a BMW with a P0304 code?
You may be able to drive a BMW with a mild cylinder 4 misfire for a short distance, but it is not recommended.
Misfires can overheat and damage the catalytic converter, increase emissions, and worsen engine performance.
If the engine is shaking badly, losing power, or flashing the Check Engine Light, stop driving and have the car inspected as soon as possible.
Continued driving can turn a simple coil or plug repair into a larger exhaust or engine issue.
Repair options and typical fixes
The right repair depends on the root cause.
In many BMW cases, the fix is straightforward once diagnosis is complete.
- Replace worn spark plugs on schedule
- Install a new ignition coil if swapping confirms failure
- Clean or replace a faulty fuel injector
- Repair cracked intake boots, hoses, or PCV components
- Fix damaged wiring or corroded connectors
- Perform intake valve cleaning on carbon-prone engines
- Address compression loss with engine repair if needed
After repairs, clear the fault codes and test drive the vehicle under the same conditions that triggered the misfire.
Confirm that misfire counters remain at zero and that the engine runs smoothly across idle, cruise, and acceleration.
BMW models that commonly experience misfire codes
P0304 can appear on many BMW models, including 3 Series, 5 Series, X3, X5, and 1 Series vehicles.
It is especially common on engines such as the N52, N54, N55, N20, B48, and related turbocharged or direct-injection variants, where ignition components, intake leaks, and injector issues are common fault sources.
The exact repair approach depends on the engine family, mileage, and maintenance history, so checking the specific BMW engine layout is important before ordering parts.
What to check before replacing parts
Before buying coils, plugs, or injectors, verify these basics:
- Battery voltage and charging system health
- Recent service history for spark plugs
- Oil or coolant contamination in plug wells
- Other misfire codes such as P0300, P0301, or P0305
- Air leaks, especially on aging plastic intake components
- Fuel trim data and misfire counters from a BMW scan tool
Careful diagnosis is especially important on BMWs because a single code can be caused by several interacting faults.
Replacing parts without testing often leads to repeated misfires and unnecessary expense.
