Rigidbody +parenting +rotation +elevator = Player unwanted behavior(pushed away)

Hey Dev´s

I have problems with an elevator script or better with the “OnCollisionExit” function in it.
Basically I parent the Player to the elevator with “OnCollisionEnter” and if the user makes an Input I unparent it and do a rotation, and this works so far.

But when I try to unparent with the “OnCollisionExit” the Player is pushed through the scene. I can reproduce this in OnCollisionEnter when activating “playerTransform.parent = null” at the end!

The problem is I need “OnCollisionExit” if the player is not longer on the elevator.

Any Ideas?

        //Elevator Script
        //
        /////////////////////////
        // Move the Elevator 
        //Start Point 
        var targetA : GameObject;
        //Finish Point 
        var targetB : GameObject;
        //Speed
        var speed : float = 0.1;
        //////////////////////////
        //
        // 
        //Code for moving the Elevator
        function FixedUpdate () 
           {
        	 var weight = Mathf.Cos(Time.time * speed * 2 * Mathf.PI) * 0.5 + 0.5;
        	 transform.position = targetA.transform.position * weight
        	 + targetB.transform.position * (1-weight);
           }
        //
        // If player enters the Elevator...
        function OnCollisionEnter(other : Collision)
         {
           //
           FPSWalker.grounded = true;  //This is not the standard FPSWalker Script, 
                                       //just the same name
           var playerTransform = other.transform;
           //Parent the player to the Elevator
           playerTransform.parent = transform;
            //
            //If User do this input unparent from Elevator
            if(Input.GetButtonDown("Rotate1"))
        	  {
                playerTransform.parent = null;
              }
            //
            //If User do this input unparent from Elevator
        	if(Input.GetButtonDown("Rotate2"))
        	  {
                playerTransform.parent = null;
              }
               //
              //
              //playerTransform.parent = null;  //(1)if this is active, same error like the one in    OnCollisionExit
          }
    ///////////////////////////////////////////////////////
//if OnCollision is active player is pushed around the scene 
 /*
    function OnCollisionExit(other : Collision)
      {
    	var playerTransform = other.transform;
    	playerTransform.parent = transform;
    	playerTransform.parent = null;
            //Here no difference if FPSWalker.grounded = true or false
            //FPSWalker.grounded = false;
      }
*/
////////////////////////////////////////////////////

For the love of god I wish Unity developers would deleat all these out dated ass javascript answers, I mean come onI’m already having a rough time concentrating on c#, hell unity doesn’t even have javascript in their new editors so what the f bleeping bleep gives already