Camera cannot find instantiated player

Hi guys, I have a problem, my camera won’t follow instantiated player on spawn position it always send me an error: The object of type Transform has been destroyed but you are still trying to access it!
This is the code which I’m using:

void OnTriggerEnter(Collider other) 
{
Destroy(other.gameObject); //Destroy Player
GameObject p = GameObject.Instantiate(Player, Spawnpoint.position, Quaternion.identity) as GameObject; //Spawn new player
SmoothFollow2 sf = transform.GetComponent<SmoothFollow2>(); //Get component of camera script (I want to change target of camera)
sf.target = p.transform; // change target of the camera
}

1.Before Destroying the gameobject disable the script that camera is accessing to handle the gameobject
2. then Instantiate the player and find the gameobject by Gameobject.Find(“Player(Clone)”);
3.then enable the camerascript and assign the player gameobject to the script

Hope this will help