Your E46 BMW radiator fan won't shut off, and it's driving you crazy maybe draining your battery, too. This is a common frustration for E46 owners, and the fix isn't always obvious. The fan staying on after the engine is off or running nonstop at full speed usually points to a failed component in the cooling system's control chain. Sometimes it's a simple coolant temperature sensor. Other times, the engine control module (ECU/PCM) itself is the problem. Knowing how to trace the issue step by step saves you money, prevents unnecessary parts swaps, and gets your 3-series back to normal.

Why Does the E46 Radiator Fan Stay Running?

The radiator fan on the E46 doesn't run all the time by design. The digital motor electronics (DME) module BMW's term for the ECU/PCM controls when the fan turns on and off based on coolant temperature data. When everything works right, the fan kicks on at a set temperature and shuts off once the engine cools down. If the fan won't stop, something in that control loop has failed.

Common causes include:

  • Faulty coolant temperature sensor (CTS) sends incorrect high-temp signals to the ECU, which keeps the fan running
  • Failed fan relay or fan control module the relay sticks closed, or the PWM fan control module fails internally
  • ECU/PCM malfunction the DME itself has a damaged output transistor or internal fault that keeps the fan circuit energized
  • Wiring issues chafed, corroded, or shorted wires between the ECU and the fan
  • Air trapped in the cooling system trapped air pockets can cause erratic temperature readings, triggering the fan

How Does the E46 Fan Control System Actually Work?

Understanding the system helps you troubleshoot in the right order. On the E46 (1999–2006), the fan is an electrically driven unit no belt-driven clutch fan like older BMWs. The DME controls the fan through a PWM (pulse-width modulation) signal sent to a fan control module mounted on the fan shroud. The control module then varies fan speed from off to full power depending on what the DME commands.

The coolant temperature sensor (located on the cylinder head or thermostat housing, depending on engine variant) tells the DME how hot the engine is. If the sensor reads abnormally high or if the DME thinks it does the fan runs at high speed as a fail-safe.

If the DME's internal fan driver circuit fails, it can hold the signal high, keeping the fan on permanently. This is less common than a bad sensor, but it does happen, especially on higher-mileage E46s.

What Are the First Things to Check?

Start with the simplest possibilities before assuming the worst. Many E46 owners jump straight to the DME, but the fix is often much cheaper and easier.

Step 1: Check the Coolant Temperature Sensor

Use an OBD-II scanner that reads live data (a basic BimmerLink setup works well). Look at the coolant temperature reading with the engine cold. It should be close to ambient temperature. If the scanner shows an extreme value like 250°F when the engine hasn't been started the sensor is bad or the wiring to it is damaged.

The E46 uses a NTC (negative temperature coefficient) thermistor, so resistance drops as temperature rises. A broken wire or corroded connector can read as infinite resistance, which the DME may interpret as extreme heat.

Step 2: Inspect the Fan Relay and Fan Control Module

On most E46 models, there's a fan relay in the fuse box (often relay position in the E-box under the hood). Swap it with an identical relay from another slot to test. If the fan still runs with a known-good relay, the relay isn't the issue.

The fan control module on the fan shroud can also fail in a way that keeps the fan on. If you unplug the control module's signal connector (the small plug, not the main power connector) and the fan stops, the problem is upstream likely the DME or wiring. If the fan keeps running with the signal disconnected, the fan control module itself has shorted internally.

Step 3: Check Wiring Between the DME and Fan

The PWM signal wire runs from the DME (pin 54 on most M54 engine DMEs) to the fan control module. Inspect this wire for damage, especially where it passes near hot engine components or through the fender area. A short to power on this wire will keep the fan running regardless of what the DME commands.

You can test this with a multimeter. Disconnect the fan control module connector and the DME connector. Check for continuity to ground and to power on the signal wire. There should be no short.

When Is the ECU/PCM Actually the Problem?

If you've ruled out the coolant temperature sensor, relay, fan control module, and wiring, the DME itself is the likely culprit. Internal DME failures on the E46 particularly the Siemens MS42, MS43, and MSS54 units can cause the fan output to stay energized.

Signs the DME is the problem:

  • Fan runs at full speed immediately on key-on, even with a cold engine
  • OBD data shows normal coolant temps, but the fan still runs
  • Disconnecting the DME's fan signal wire stops the fan
  • No fault codes related to the coolant sensor or fan circuit, or fault codes pointing to DME internal failure

A DME with a burned-out output transistor on the fan control circuit is a known failure mode. The transistor that drives the PWM signal can short, locking the output high. If you want to understand more about how a failed ECU causes this exact symptom, this breakdown of ECU-caused continuous fan operation covers the specific electronics involved.

How Do I Confirm It's the ECU and Not Something Else?

The most reliable way to isolate the DME is a process of elimination combined with electrical testing:

  1. Read live coolant temp data via OBD-II. If the reading is realistic (matches a laser thermometer pointed at the thermostat housing), the sensor and its wiring are fine.
  2. Unplug the fan control module signal connector. Fan stops? Problem is the DME or signal wire. Fan keeps going? Problem is the fan control module or power circuit.
  3. Back-probe the DME's fan output pin with the signal wire disconnected. If the DME is outputting a PWM signal (or a steady voltage) when it shouldn't be, the DME has an internal fault.
  4. Check for DME fault codes with a BMW-specific scanner. Generic OBD-II scanners often miss BMW-specific DME codes. ISTA/D or INPA will give you the full picture.

For a deeper walkthrough on diagnosing the ECU specifically, this diagnostic guide for ECU-caused fan issues after shutdown goes into more detail on isolating the module electrically.

What Are the Common Mistakes People Make?

  • Replacing the fan assembly without testing anything first. The fan motor itself rarely causes this symptom. The problem is almost always in the control circuit.
  • Ignoring the coolant temperature sensor. It's a $15–$30 part and a 10-minute swap. Always check it before spending hundreds on a DME.
  • Not bleeding the cooling system properly after a coolant change. Air pockets cause erratic temp readings that trick the DME into running the fan. Use the BMW bleed procedure bleed screw on the thermostat housing, expansion tank cap off, heater on max, engine running until bubbles stop.
  • Assuming the DME is bad without electrical testing. A DME replacement or rebuild costs $300–$800+. Confirm the fault before going down that road.
  • Clearing codes without reading them first. Always pull codes before doing anything. A stored fault code can point you directly to the problem.

Can I Fix a Bad DME Fan Output Myself?

If the DME's fan driver transistor is confirmed bad, you have a few options:

  • DME rebuild/repair send the unit to a specialist who can replace the damaged transistor on the board. This typically costs $150–$400 and keeps your existing DME (which is already coded to your car).
  • Used DME swap buy a used DME from the same engine and model year. It will need to be reprogrammed and coded to your car (EWS/DME alignment). This requires BMW-specific software like NCS Expert or dealer-level tools.
  • New DME from BMW the most expensive option, often $1,000+, and still needs coding.

If you go the rebuild route, make sure the shop specifically addresses the fan output circuit and tests it under load before sending it back. For more details on the full troubleshooting flow, the complete E46 fan troubleshooting walkthrough covers each step in sequence.

How Do I Prevent This From Happening Again?

  • Keep your cooling system maintained old, corroded coolant damages sensors and creates electrical issues over time.
  • Address overheating events immediately. Repeated overheating stresses the DME's output circuits.
  • Check grounds. Poor grounding is a hidden cause of many E46 electrical gremlins. Clean and tighten the ground points on the engine block and chassis.
  • Avoid jump-starting with reversed polarity. This is a fast way to fry DME output transistors.

Quick Diagnostic Checklist

  • Read live coolant temp with OBD-II does it match actual engine temp?
  • Swap or test the fan relay
  • Unplug the fan control module signal connector does the fan stop?
  • Inspect the CTS connector and wiring for damage or corrosion
  • Bleed the cooling system if any recent coolant work was done
  • Back-probe the DME fan output pin with signal wire disconnected
  • Pull BMW-specific fault codes with ISTA, INPA, or BimmerLink
  • If DME output is confirmed faulty, send for rebuild or replace and recode

Tip: Before you spend a dime on parts, get a multimeter and a BMW-capable scan tool. Twenty minutes of testing can save you hundreds in misdiagnosed parts. The fan staying on is the symptom the cause is somewhere in the control chain between the coolant sensor, the DME, and the fan module. Test each link, and you'll find the broken one. Download Now