BMW E90 models have an advanced radiator fan control, which uses a Pulse-width-modulated or PWM signal to regulate the fan speed.

This allows infinite speed regulation, unlike hi-low speed on older cars, and helps increase efficiency and fuel economy. 

All early models with gasoline engines have a high radiator fan failure rate. In most cases, it is the control module that fails, not the fan motor itself. Being placed on the fan housing, it is exposed to moisture and elements. With time, this causes corrosion within the module or on connecting wiring, as it was in this case. 

failed module

Fan issues will not trigger a check engine or any other warning light. This, combined with the lack of a temperature gauge on the dashboard, can make the drivers unaware of the problem until it is too late.

Although a faulty fan will trigger a DTC code, these are manufacturer specific codes and can be accessed only by a BMW scan tool, such as Carly.  In most cases, stored codes will 2EFE or 2EFF. 


  • The most obvious symptom is engine overheating, but this will only happen if the car sits in traffic for a longer period. If the coolant temperature becomes too high, the car will warn the driver with a yellow ‘engine temperature’ light. In that case, turn off the engine to prevent overheating. 
  • Poor air-conditioning performance when driving at low speeds or idling. This happens because the air conditioning system doesn’t have a dedicated fan. Instead, it uses the radiator fan to drive air through the condenser. 
  • Low engine running temperatures. You can check the engine temperature by accessing the hidden menu or by using any OBD scan tool. Gasoline engines run at temperatures of around 105 °C, although this may vary according to driving conditions. If the ECU senses a problem with the cooling system, it will hold the thermostat open all the time, lowering the engine temperature to around 90 °C.

The procedure

  1. Make sure the engine ignition is off and the key-fob is not in the slot. 
  2. Locate and remove three Torx T20 screws (shown with arrows on the image below) that hold the intake port (item 1) in place. Pull the intake port towards the back, together with the rubber hose. intake port


  3. At the passenger side, locate the coolant temperature sensor, (shown as item 1 on the image below) and the connection wiring that goes towards the top of the radiator. Disconnect the wiring harness from the sensor and remove the cable retaining strap (shown as item 2).
  4. There is one Torx T20 screw at the passenger top side of the fan housing. Locate and remove it. fan side


  5. Locate the coolant pipe at the top of the fan housing, held in place by two rubber brackets (shown with the arrow on the image below). Release the pipe from rubber brackets.
  6. Disconnect the fan wiring harness (shown as item 1 on the image below) by pressing the clip and pulling it out at the same time. fan top side
  7. Locate the retainer tab at the drivers side of the fan housing (shown with arrow on image below). Press it towards the back side of the car and pull the fan housing upwards. Guide the fan housing out of the engine bay, while taking extra care not to damage the coolant hoses or nearby wiring. fan retaining clip


  8. Using the same path, install the new fan and refit all parts and connectors in reverse order. 
  9. Connect the OBD scan tool to check and delete all stored codes. Start the engine, turn on the AC and check if the fan is spinning.