Camera rotation relative to current facing

Hi all,
I’ve been stuck on this one for a fair while and after trying to help myself through other questions and answers I have drawn a blank. I am trying to do free form camera movement over the terrain. I have found some helpful C# snippets to help do this. At the start of the game I have the camera facing down onto the terrain at a specific point (Camera rotation - X:90 Y:0 Z:0). The problem that I am having is that when I use the camera rotation button for the first time the camera snaps to the zero facing and then applies the rotation correctly (X:0 Y:0 Z:0). After this first time rotating, I release the rotation button and then rotate again - everything works correctly (it doesn’t snap back to zero).

		_newY -= Input.GetAxis ("Mouse Y") * ySpeed * Time.deltaTime;
		_newY = Mathf.Clamp (_newY, -80, 80);
		_newX += Input.GetAxis ("Mouse X") * xSpeed * Time.deltaTime;
		_newX = _newX % 360;

		_cameraTransform.localEulerAngles = new Vector3(_newY, _newX, 0);

I appreciate any help on this one.

Set your variables to default value in the Start method:

    void Start() {
    	_newY = -90f;
    	_newX = 0f;