C# Boolean Constantly Changing

I am trying to alter a script that is not mine, but my boolean variable dead is not working correctly. The function CameraDeath() is called from a different script and correctly runs a single time, and the Debug.Log in that function prints only once proving that. However, after that function is called, my boolean constantly switches between true and false. The Debug.Log constantly running in the Update function goes back and forth, printing true and false for the value of dead. I have absolutely no idea why. I hope you can help.

public class MouseLook : MonoBehaviour {

	public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }
	public RotationAxes axes = RotationAxes.MouseXAndY;
	public float sensitivityX = 15F;
	public float sensitivityY = 15F;

	public float minimumX = -360F;
	public float maximumX = 360F;

	public float minimumY = -60F;
	public float maximumY = 60F;

	public bool dead = false;
	public bool deadFunctionRan = false;

	float rotationY = 0F;

	void Update (){

		Debug.Log(dead);

		if (axes == RotationAxes.MouseXAndY && !dead) {
				float rotationX = transform.localEulerAngles.y + Input.GetAxis ("Mouse X") * sensitivityX;
				rotationY += Input.GetAxis ("Mouse Y") * sensitivityY;
				rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
				transform.localEulerAngles = new Vector3 (-rotationY, rotationX, 0);
		} else if (axes == RotationAxes.MouseX && !dead) {
				transform.Rotate (0, Input.GetAxis ("Mouse X") * sensitivityX, 0);
		} else if(!dead) {
				rotationY += Input.GetAxis ("Mouse Y") * sensitivityY;
				rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
				transform.localEulerAngles = new Vector3 (-rotationY, transform.localEulerAngles.y, 0);
		}
	}

	void CameraDeath(){
		dead = true;
		Debug.Log("function ran");
	}

	void Start (){
		// Make the rigid body not change rotation
		//if (rigidbody)
		//	rigidbody.freezeRotation = true;
	}
}

Do you possibly have 2 MouseLook scripts attached to a GameObject or on any other GameObject? This could cause that type of output where one has called the CameraDeath() Function and its instance of the dead variable is set to true whilst the other still remains false.

It may look as though your bool is switching, but its just outputting the different values to the console.