i need help with my respawn script

I’m creating a 2D platform game where the player will have the ability to evolve into an entirely new character. i made the evolution work through creating an empty parent object and having it control the actual evolution transition. Now i’m stuck, where all the animations still work for the first stage and most of the second stage i’ve only run into problems with the respawn transition from the any state to the idle state, this works by using an istrigger of “Respawn”. it works perfectly fine for the first stage, it just isn’t working for the second stage. It’s throwing an error of Animator has not been initialized, when it clearly has been.

all the relevant code of the death and respawn is below.

IEnumerator KillPlayer() {

     if (playerCanMove)
         // freeze the player
         // play the death animation
         // After waiting tell the GameManager to reset the game
         yield return new WaitForSeconds(2.0f);
         if (GameManager.gm) // if the gameManager is available, tell it to reset the game
         else // otherwise, just reload the current level
public void ResetGame() { // remove life and update GUI lives--; refreshGUI();

     if (lives<=0) { // no more lives
         // save the current player prefs before going to GameOver
         PlayerPrefManager.SavePlayerState(score, lives);
         // load the gameOver screen
         Application.LoadLevel (levelAfterGameOver);
     } else { // tell the player to respawn
public void Respawn(Vector3 spawnloc) {

     playerHealth = fullHealth;
     _transform.parent = null;
     _transform.position = spawnloc;
     healthSlider.value = playerHealth;

Any help at all would be immensely appreciated, thank you in advance!

Referring to this; When you transition from your original (first) stage to your new (second) stage, if you called your Respawn(spawnloc) right after enabling the 2nd stage, the Animator could be in an uninitialized stage, just wait 1 frame and the Animator should be ready.