OnMouseDown Script is really buggy

This script is for a sprite that i am using as a button, it was working great but then it started to not work when the 2d collider was set to trigger so i would change it to no trigger. then it would work but it stops working the next time. So i have to keep switching between trigger and non trigger for it to work. I have used this type of script for all my buttons they all work fine exept this one.

using UnityEngine;
using System.Collections;

public class HowToPlay : MonoBehaviour {

	// Use this for initialization
	void OnMouseDown() {
		Play();
	}
	void Play() {
		Application.LoadLevel("1");
	}
}

Is the script attached to the sprite?
The isTrigger in the inspector isn’t really important, it should work both ways (ticked or not ticked it doesnt matter).

Are there other colliders that could probably interfere with one another? like if they are overlaying eachother.

And are you sure that Application.LoadLevel(“1”) wouldnt just load a level with a button that does not include this script or collider?

Is the Collider Area set to the place were you wish to click?

If all of the above is not the problem, than it is something within the code. Use Debug.Log(“”); to check if the code is getting executed.