OnCollisionEnter called twice

when the rocket hit a wall or something…itsupose instantiate an explosion and then destroy it,but 2 explosion prefab and sometime 3 aapear…and there is only one sphere collider to the rocket…and i also tried to destroy the rigid body on the collision enter so i dont know mayne!!!

var Death:Transform;
var Dead=false;

function Start()
{
rigidbidy.AddForce(0,0,100);
}
function OnCollisionEnter(Hit:Collision)
{
if(!Dead&&Hit.gameObject.tag=="Terrain")
{
Dead=true;
Instantiate(Death,transform.position,transform.rotation);
Destroy(gameObject);
}
}

I’ve encountered similar issues in the past you should make sure you aren’t generating one too many objects or accidentally attaching duplicate components.

I think your Kinematic solution might be a workaround to resolve an issue somewhere else. From your description it shouldn’t play a role in the issue itself. Here is info on kenimatic:

You could try DestroyImmediate but again I think there might be a larger problem.

for those who want to know how i deal wit it… well i dont know why but it works…i set on the kinematic thing…so look like the function dont call twice…well…