     servoPos[2] += servoInc[2];
   }
   // servo3 release  
-  else if (servoState[2] == false){
+  else if (servoState[2] == false && _servoState[2] == true){
     servoPos[2] = servoMinAng[2]; 
-    servo3.write( servoPos[2] );  
+    servo3.write( servoPos[2] );
+    _servoState[2] = false;  
   }
 }
 

            if(pitch < 27){ // set servos' values only (activation is done in runServos function)
              servoInc[pitch-24] = velocity2inc( servoMinInc[pitch-24], servoMaxInc[pitch-24], vel);
              servoState[pitch-24] = true;
            }
            if(pitch > 35){ // activate relay
              digitalWrite(note2pin[pitch], LOW); 

    servoPos[0] += servoInc[0];
  }
  // servo1 release  
  else if (servoState[0] == false && _servoState[0] == true){
    servoPos[0] = servoMinAng[0]; 
    servo1.write( servoPos[0] );
    _servoState[0] = false;  
  }

  // servo2 attack
