Script placement fixed my problem?

Hi. I recently built a script for two lights to turn on and off on the same button click (I was planning on making the lights come out of a robots eyes). One problem I had with the script was that when I had it attached to the camera for my FPS (I am using the prefab that came in the standard assests for FPS), only one of the lights worked when I clicked play. The other was still there, but in scene view the icon was gone, and in the Hierarchy view it was dulled. I finally figured out that to fix it, I switched the script over to the First Person COntroller parent, and it worked, but I don't know why. If anyone could tell me, please let me know. Here is the script:

var RightEye : Light; 
var LeftEye : Light;
function Update() 
{   
if(Input.GetKeyDown("3"))
    {            
    LeftEye.enabled = !LeftEye.enabled;
    }
    if(Input.GetKeyDown("3"))
    {            
    RightEye.enabled = !RightEye.enabled;
    }
}

P.S. It worked fine when I only had one light to turn on and off, but changing it to two is what bugged it. Also, there were no compiler errors, if you are interested.

This is not really an answer, just a suggestion to your script :)

function Update()
{
    if (Input.GetKeyDown("3))
    {
        LeftEye.enabled = !LeftEye.enabled;
        RightEye.enabled = !RightEye.enabled;
    }
}

Maybe the problem was that one of your eyes was enabled and the other one was disabled. That would make one eye turn off, when the other one was turned on.