Two servos one sweep other button activated

I still have the same problem with the button check in the for loops. The sweep stops and the button only works at sweep position zero. What did change is after the door opens it then closes one degree for every 5000 delay. Did I not move it to the correct place or is there more that I am missing?

void loop(){
  
  buttonState = digitalRead(buttonPin);    // read the state of the pushbutton value:

  for(posArrow = 0; posArrow < 180; posArrow += 1)  // goes from 0 degrees to 180 degrees 
  {                                  // in steps of 1 degree 
    if (buttonState == HIGH)                 // check if the pushbutton is pressed.
    {       
      digitalWrite(ledPin, HIGH);            // turn LED on:
      myservoDoor.write(3); ;
    } 
    else 
    {
      digitalWrite(ledPin, LOW);             // turn LED off:
      myservoDoor.write(91);
      delay(5000);
      myservoDoor.write(3); 
    }
    myservoArrow.write(posArrow);              // tell servo to go to position in variable 'pos' 
    delay(15);                       // waits 15ms for the servo to reach the position 
  } 
  for(posArrow = 180; posArrow>=1; posArrow-=1)     // goes from 180 degrees to 0 degrees 
  {  
    if (buttonState == HIGH)                 // check if the pushbutton is pressed.
    {       
      digitalWrite(ledPin, HIGH);            // turn LED on:
      myservoDoor.write(3); ;
    } 
    else 
    {
      digitalWrite(ledPin, LOW);             // turn LED off:
      myservoDoor.write(91);
      delay(5000);
      myservoDoor.write(3); 
    }    
    myservoArrow.write(posArrow);              // tell servo to go to position in variable 'pos' 
    delay(15);                       // waits 15ms for the servo to reach the position 
  }