   pinMode(PIN_LED_SIGNAL_A1, OUTPUT);
   pinMode(PIN_LED_SWITCHING_PERMISSION, OUTPUT);
   pinMode(PIN_LED_ROUTE_A, OUTPUT);
-  pinMode(PIN_LED_ROUTE_BERENBACH, OUTPUT);
-  pinMode(PIN_LED_ROUTE_A_FIXATION, OUTPUT);
-  pinMode(PIN_LED_ROUTE_A_RECALL, OUTPUT);
+  pinMode(PIN_LED_ROUTE_P, OUTPUT);
+  pinMode(PIN_LED_ROUTE_AP_FIXATION, OUTPUT);
+  pinMode(PIN_LED_ROUTE_AP_RECALL, OUTPUT);
 
   // Attach the output pins
   pinMode(PIN_OUTPUT_SWITCH_1, OUTPUT);

  update_single_lever_led(PIN_LED_SWITCHING_PERMISSION, SWITCHING_PERMISSION);

  update_dual_lever_led(PIN_LED_ROUTE_A, ROUTE_A1, ROUTE_A2);
  update_dual_lever_led(PIN_LED_ROUTE_BERENBACH, ROUTE_BERENBACH1, ROUTE_BERENBACH2);

  if (current_position[ROUTE_A_FIXATION] == PLUS) {
    digitalWrite(PIN_LED_ROUTE_A_FIXATION, LOW);
    digitalWrite(PIN_LED_ROUTE_A_RECALL, LOW);
  }
  else {
    digitalWrite(PIN_LED_ROUTE_A_FIXATION, HIGH);
    digitalWrite(PIN_LED_ROUTE_A_RECALL, HIGH);
  }

  // TODO: update the outgoing pins.

  // it can be thrown once (instead of through normal requirements, then it
  // would have been possible to throw it multiple times). It also enables the
  // corresponding route recall.
  if (number == ROUTE_AP_FIXATION && new_position == MINUS) {
    requirements_fulfilled[ROUTE_AP_RECALL] = true;
    if (current_position[ROUTE_A1] == MINUS) {
      requirements_fulfilled[SIGNAL_A1] = true;
    }
