Cant Rotate twice?

For Some reason when i run this script the player only rotates once, while Turn is printed twice!

 public void Navigate() 
    {
        TurnAngle = 45f;
        Invoke("Turn", 9f);
        Invoke("Turn", 10f);
    }
   public void Turn() 
   {
      transform.rotation = Quaternion.Euler(transform.rotation.x, transform.rotation.y + TurnAngle, transform.rotation.z);
      Debug.Log("Turn");
   }

Well you can try to do this instead of using Quaternions:


    public void Navigate() 
         {
             TurnAngle = 45f;
             Invoke("Turn", 9f);
             Invoke("Turn", 10f);
         }
        public void Turn() 
        {
           transform.Rotate(0, TurnAngle, 0);
           Debug.Log("Turn");
        }

Please tell me if this works or not.