Instantiating GameObject loses some properties of the original GameObject

Hi! I am creating a simple ball game as my thesis and I encountered a strange problem. When the ball hits any hazard, it should explode and then create new ball to the respawn. It works fine the first time, but after losing a life, the ball doesn’t disappear anymore and no explosion or respawn is instantiated and the ball just stays where it is. The HUD.Lives line works no matter how many balls get killed. Here is my code, been trying it bit differently many times, but no success:

void OnTriggerEnter(Collider other)


If (other.gameObject.tag == "Hazard") { 

   HUD.Lives = HUD.Lives - 1;
   Instantiate(Explosion, GameObject.Find("AmigaBall").transform.position, Quaternion.identity);
   GameObject AmigaBall = Instantiate(GameObject.Find("AmigaBall"), 
   GameObject.Find("Respawn").transform.position, Quaternion.identity) as GameObject;


   GameObject.Find("AmigaBall(Clone)").name = "Amigaball";
   AmigaBall.transform.localScale = new Vector3(2, 2, 2);

Would appreciate any help I can get. I think it might be possible just to teleport the ball to the respawn instead of instantiating it and destroying the old one, but would like it to work somehow like this if possible.

Now when I thought it a bit more, the topic should have been “Can’t instantiate from instantiated GameObject”. Well I think I am going to change the instantiation to just moving the GameObject when it loses life.