MouseLook rotates back problem

I'm writting a script, cinsists of two components, the first one witches between player mouse control and my rotation script:

function Update() {
    if (Input.GetKeyDown ("r"))
    {
        if (GameObject.Find("fpscontroller").GetComponent("MouseLook").enabled == false)
        {
            GameObject.Find("fpscontroller").GetComponent("MouseLook").enabled = true;
            GameObject.Find("fpscontroller").GetComponent("Rotater").enabled = false;
        }
        else
        {
            GameObject.Find("fpscontroller").GetComponent("MouseLook").enabled = false;
            GameObject.Find("fpscontroller").GetComponent("Rotater").enabled = true;
        }
    }
}

The second rotates the player around slowly:

function Update () {
    transform.Rotate(Vector3.up, 20* Time.deltaTime);
}

My problem is, that even if all the scripts are working fine alone, thus i can "look around" and after pressing "r" mouse freezes, and the player slowly rotates around, BUT if i press the "r" button again, the camera moves back to the start position (it ignores the whole rotation procedure). How could i make this work?

Thank You,

Agoston Torok, HAS, Institute for Psychology

I solved it grrr, simply using a mouse look script instead of the builtin one:

function Update () { var h = 15 * Input.GetAxis ("Mouse X"); transform.Rotate (0, h, 0); }