01 P0036 H02S heater control circuit (Bank 1 sensor 2) • 02 P0012 A Camshaft Position - Timing Over Retarded (Bank 1) • 03 Turbochargers: Everything You Need to Know • 04 Jeep Avenger: The First Electric SUV from Jeep • 05 Drivers Think They’re Helping Their Car When They Do This —… • 06 These Simple Car Maintenance Hacks Have Never Been This Easy • 07 Petrol vs Diesel: This is Why You Should Consider a Petrol … • 08 Camshaft Position Sensor: Everything You Need to Know • 09 How To Remove Paint On Car Windows After A Repaint • 10 Why Does Your Transmission Stop Working When It Gets Hot? •

DTC codes / BMW codes / P1564

P1564 · BMWControl Module Selection

P1564 on BMW vehicles indicates that the engine control module (DME) has detected an invalid or missing coding/selection signal for a control module on the controller area network (CAN) bus, typically during initialization or when a module fails to respond with its correct configuration. The DME sets this code when it cannot confirm that a required module—such as the transmission control module, stability control module, or instrument cluster—is correctly selected and coded for the vehicle's configuration.

SystemPowertrain
Code typeBMW specific
SeverityMedium
Fix difficultyProfessional
AreaVehicle speed, idle control and auxiliary inputs

Symptoms you may notice

  • Illumination of the check engine light (service engine soon) with no other obvious drivability issues
  • Intermittent no-start or crank-no-start condition if the affected module is part of the immobilizer or start authorization chain
  • Multiple warning lights on the dashboard (e.g., DSC, transmission, or airbag) if the unselected module controls those systems
  • Erratic transmission shifting or limp mode if the transmission control module is the module not properly selected
  • Communication-related fault codes stored in other modules alongside P1564
  • Often no symptoms besides the warning light when the fault is a stored coding mismatch that does not affect current operation

Common causes, most likely first

  1. Incorrect or corrupted coding in the DME or in the affected control module after a module replacement or software update
  2. Failed or intermittent CAN bus communication due to damaged wiring, corroded connectors, or a faulty module
  3. Low battery voltage or voltage spikes that interrupt module initialization and cause a selection timeout
  4. Aftermarket or mismatched control module installed without proper coding to the vehicle
  5. Faulty DME internal communication circuit or corrupted DME software
  6. Poor ground connection at the affected module or at the DME, causing unreliable bus communication
  7. Water intrusion or physical damage to a module or its harness causing intermittent selection failure

How to diagnose and fix it

  1. Perform a full vehicle scan with a BMW-capable diagnostic tool to read all stored codes and identify which module is failing to be selected
  2. Check battery voltage and charging system operation; clear the code and retest to see if low voltage was the cause
  3. Inspect CAN bus wiring and connectors at the DME and at the suspected module for corrosion, damage, or loose pins
  4. Verify that all control modules are correctly coded and matched to the vehicle using the diagnostic tool's coding functions
  5. If a module was recently replaced, perform the required coding and adaptation procedures for that module
  6. Check and clean ground connections for the DME and the affected module
  7. If communication is still unreliable, substitute a known-good module or perform guided diagnostics for the specific missing selection signal

What the selection code really means

  • P1564 is often set by a low battery or a voltage drop during cranking, so always clear the code and retest after charging the battery before replacing any module.
  • A recently replaced control module that was not coded to the vehicle is one of the most common causes, even if the module appears to communicate correctly on the bus.
  • The code does not always indicate a hard failure; intermittent CAN bus faults from chafed wiring or poor grounds can set it sporadically.
  • Some BMW models require the DME to be updated or recoded after a module replacement, and skipping this step will immediately reset P1564.
  • A faulty ignition switch or start authorization system can interrupt module selection during initialization and set this code without any obvious drivability symptom.

Can I keep driving with P1564?

If the only symptom is the check engine light and the vehicle runs normally, you can drive cautiously to a workshop for diagnosis, but avoid long trips or heavy load. If the car is in limp mode, has transmission warnings, or intermittently fails to start, stop driving and have it diagnosed promptly because the affected module may control safety or starting functions.

Guidance is general and written for BMW vehicles. Exact tests and values vary by model, so confirm the fault before replacing parts.

Running on fumes Free guides aren't free to make. Top up the tank. Any amount, one time. Fuel the Garage