My gui texture is being reproduced in every scene, despite only being on my start screen?

I have three GUI textures (used for buttons) in three different scenes. A “start” button on the start screen, along with a reset button in the game scene, and a reload button on the “you die” screen. My problem is when I press the “start” button, (or any of the buttons), the next scene will load properly, however the “start button will still be there”. All of my touch buttons will remain after the next scene loads. Its as if the objects are not being destroyed when the new scene loads. Its happening with all my touch buttons so I have to be doing something wrong. I also have virtual joysticks from easy touch, they work fine though, they are not reappearing on other scenes. Please I need help I feel like this is something simple i’m just missing. Below is my basic touch button script I use for start button.

using UnityEngine;
using System.Collections;

public class startbutton : MonoBehaviour {
		
		void Update () { 
			Touch touch1; 
			if(Input.touchCount > 0) { 
				touch1 = Input.touches[0]; 
				if(touch1.phase == TouchPhase.Began && guiTexture.HitTest(touch1.position)) {
					Application.LoadLevel (1); 
					}
			} 
		}
	}

I see nothing wrong with the script you have here. It may be the case that Unity is not destroying that object when it loads the next level? Have you tried opening that scene and seeing if it is present there? If not, are you calling DontDestroyOnLoad on anything in the transform hierarchy of the GUITexture? Because, according to the documentation,

If the object is a component or game object then its entire transform hierarchy will not be destroyed either.

And that would definitely cause this behavior. Note that the entire transform hierarchy means the whole transform “tree” that a GameObject and all its components are part of, so if you can follow tranform.parent and transform.FindChild(childName) calls from one GameObject/Component to another, they are part of the same Transform hierarchy.