Hommeing missiles needs its target. set GameObject on script when instantiated?

Hi guys I’ve found my target and lock on and i can get a Target with raycast.
I have a missile script on my gameObject that it instantiated when i shoot my missile and a game object public target on it. when i instantiate it I’m tiny to get it to inherit Target from this script onto the target on the missile script so it ca find its target. currently the method below dose nothing any ideas?

	if (FireMissile == true && IsLockedOnBool && MissileCount > 0) {
			GameObject Clone;
			Clone = Instantiate (AcualMissile, GunPoint.transform.position, transform.rotation) as GameObject;
			Clone.name = AcualMissile.name;
			MissileScript = AcualMissile.GetComponent<Missle> ();
			MissileScript.target = Target;
			FireMissile = false;
			MissileCount -= 1;

		}

	}

Full Script:

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class MissileControll : MonoBehavior {


	RaycastHit hit = new RaycastHit ();

	public Missle MissileScript;
	public LockedOn LockonGUIScript;
	public SpecialGUI Special;

	public GameObject Target;
	public GameObject GunPoint;
	public GameObject AcualMissile;
	public GameObject Crosshai1;
	public GameObject Crosshai2;

	public GameObject MissionControll;

	public Vector3 fwd;

	public bool IsLockedOnBool;
	public bool Activate;


	public int MissileCount = 5;


	public bool FireMissile;


	public void Start(){
		MissionControll = GameObject.FindGameObjectWithTag ("MissionControll");
		Special = MissionControll.GetComponent<SpecialGUI> ();
		Special.SpecialNamestring = "Missile".ToString ();
	}


	public void LateUpdate(){
		
		Special.GUISpecialNumber = MissileCount;






		//------------------------------------------------------------------------------------------

		if (Activate == true) {
			RaycastHit hit;
			float HitDistance;
			fwd = transform.TransformDirection(Vector3.forward) * 10000;
			if (Physics.Raycast (transform.position, (fwd), out hit));
			Debug.DrawRay(transform.position,fwd,Color.green);
				if (hit.collider.gameObject.name == "FighterRedTeam") {
				HitDistance = hit.distance;
					Target = hit.collider.gameObject;
					IsLockedOnBool = true;
					LockonGUIScript = Target.GetComponent<LockedOn> ();
					LockonGUIScript.IsLockedon = true;

				}

			if (hit.collider.gameObject.name == "DestroyerRedTeam") {
				Target = hit.collider.gameObject;
				IsLockedOnBool = true;
				LockonGUIScript = Target.GetComponent<LockedOn> ();
				LockonGUIScript.IsLockedon = true;
			}
		}

		//------------------------------------------------------------------------------------------



		//------------------------------------------------------------------------------------------
		if (Input.GetButtonUp ("LockOn")) {
			Crosshai1.SetActive (false);
			Crosshai2.SetActive (true);
			Activate = true;
		}
		
		//------------------------------------------------------------------------------------------
		if (Input.GetButtonUp ("LockOf")) {
			Crosshai1.SetActive (true);
			Crosshai2.SetActive (false);
			Activate = false;
			LockonGUIScript = Target.GetComponent<LockedOn> ();
			LockonGUIScript.IsLockedon = false;
			Target = null;

		}

		if (Input.GetButtonUp ("Shoot2")) {
				FireMissile = true;
		}


		}





	public void Update(){

	
	if (FireMissile == true && IsLockedOnBool && MissileCount > 0) {
			GameObject Clone;
			Clone = Instantiate (AcualMissile, GunPoint.transform.position, transform.rotation) as GameObject;
			Clone.name = AcualMissile.name;
			MissileScript = AcualMissile.GetComponent<Missle> ();
			MissileScript.target = Target;
			FireMissile = false;
			MissileCount -= 1;

		}

	}
		





		}

Line 115, MissileScript = ActualMissile.GetComponent<Missile>(); should be

MissileScript = Clone.GetComponent<Missile>();