Invoke() bug

Hello everyone …

if (player.gameObject.tag == "Smal")


	public void Normal(){
		Debug.Log ("normal");
		gameObject.transform.localScale = new Vector3 (-1,-1,0.58f);

this code running but sometimes dont work. I dont understand how ınvoke() method work unstable. I want to ıf h-gameobject touch to the another gameobject it should be slace normal forms. However this code runs sometimes perfectly but sometime dont work =) Help me…

Invokes are cancelled if the calling object is destroyed or disabled. Is this your problem?