Prefab being instantiated with some properties missing.

Hello,
I am destroying a missile when it collides with wall and at the same time I’m instantiating a missile also.Missile is being instantiated but without collider and other scripts attached to it.Here’s my code.
Help me with this problem.
Thanks.
public GameObject missile;

public GameObject plane;

public Transform CollisionParticlesM;

// Use this for initialization
void Start () {
	CollisionParticlesM.GetComponent <ParticleSystem > ().enableEmission = false;
}

// Update is called once per frame

	void OnTriggerEnter2D (Collider2D other)
{
	if (other.gameObject.CompareTag ("wall")) 
{
		print ("MKMJ");
		Destroy(gameObject);

		CollisionParticlesM.transform.position = new Vector3 (missile.transform.position.x, missile.transform.position.y, missile.transform.position.z);

		Vector2 position = new Vector2(Random.Range(plane.transform.position.x-5.0f, plane.transform.position.x+5.0f), Random.Range(plane.transform.position.y-5.0f, plane.transform.position.y+5.0f));

		Instantiate(missile, position, Quaternion.identity);

		CollisionParticlesM.GetComponent <ParticleSystem > ().enableEmission = true;
		
	}
}

It seems like you are instantiating missile from the missile prefab, so make sure you have collider and other scripts attached to that prefab.