Player only rotates one time 90°. Can't rotate back or again.

I’m working on a school project where I use the Kinect to guide a player in a labyrinth. In the labyrinth you can move forward and rotate 90°. (Imagine a first person Pacman).

A problem that I encountered is the following, whenever I stretch one of my arms, the player should turn 90° left or right.

What actually happens is that I turn one time to either the left or right, but than the program doesn’t respond on my actions anymore!

My code is the following:

using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;
using OpenNI;


public class DetectRotation : MonoBehaviour {	
	
	public GameObject mySkeleton;
	
	public bool rightHandOut;
	public bool leftHandOut;
	
	public float leftHandX;
	public float rightHandX;
	
	public float armsStretched = 1.75f;
	
	
	void Awake() {
		GameObject mySkeleton = GameObject.Find("Blockman");
	}
	
	void Update () {
		
		leftHandX = mySkeleton.GetComponent<OpenNISkeleton>().LeftHand.position.x;
		rightHandX = mySkeleton.GetComponent<OpenNISkeleton>().RightHand.position.x;
				
		if(rightHandX > armsStretched){
			rightHandOut = true;
			mySkeleton.transform.Rotate(new Vector3(0, +90, 0));
			Debug.Log("Right");
		}
		
		if(leftHandX < -armsStretched){	
			leftHandOut = true;	
			mySkeleton.transform.Rotate(new Vector3(0, -90, 0));
			Debug.Log("Left");
		}		
		
	}	
	
}

armsStretched is just a float value that I use to detect if the arm position (leftHandX or rightHandX) is over a certain threshold.

What am I doing wrong?

TL;DR: Player (mySkeleton) only turns once and won’t turn again when I stretch an other arm.

Have you tried to Debug.Log(leftHandX); and Debug.Log(RightHandX); to see what values your are getting and if they make sense to you?
The code is pretty straightforward so this would point to some unexpected values that you are checking against armsStretched.