       break;
 
     case doorBlockedPir:
+      // motion stopped, return to work
       if (pirTrigger == LOW) {
-
-// hold the door open if button pressed
-// TODO: another possibility would be to fall-through to doorBlocked
-// and close the door instead. which way is better?
-if (swTrigger == LOW) {
-  motorFree();
-  debug(currentMillis, F("Button switch triggered - door blocked\r\n"));
-  setLeds1(red, ledSolid);
-  doorState = doorBlocked;
-  swTrigger = HIGH;
-  break;
-}
-
         if (swBack == LOW) {
           debug(currentMillis, F("IR sensor LOW - door open\r\n"));
           openMillis = 0;

    add: 1,
    minPWM: 0,
    maxPWM: 255,
    startPWM: 0,
    useStartPWM: true, // first element always sets initial PWM value
    brake: false
  },

          setLeds1(red, ledSolid);
          doorState = doorBlocked;
        }
      }
      // hold the door open if button pressed
      // TODO: another possibility would be to fall-through to doorBlocked
      // and close the door instead. which way is better?
      if (swTrigger == LOW) {
        motorFree();
        debug(currentMillis, F("Button switch triggered - door blocked\r\n"));
        setLeds1(red, ledSolid);
        doorState = doorBlocked;
        swTrigger = HIGH;
      }
      break;

