Destroy the first instanced prefab while still being able to generate more prefab's later

It seems that when I use `Destroy(gameObject)` from a script within a gameobject prefab, and there is only one instance of that gameobject prefab onscreen, I am no longer able to instantiate the prefab, even from a different gameobject/script

How do you destroy the first without being unable to generate more?

Something like this, with your own methods for instantiating and destroying, but paying careful notice to the instantiated null/not null checks

private var instantiated : GameObject;
var prefab : GameObject;

function Update()
{
    if (Input.GetMouseButtonDown(0) && instantiated == null)
    {
        instantiated = Instantiate(prefab);
    }

    else if (Input.GetMouseButtonDown(1) && instantiated != null)
    {
        Destroy(instantiated);
        instantiated = null;
    }
}