GetKeyDown (print) printing twice every keydown

why is it printing twice every time i press - key:

if (Input.GetKeyDown("-")) { toggleGUI =! toggleGUI; print("ongui");}
if (toggleGUI == true){//key to invoke saver buttons
	writeName = GUI.TextField (Rect (10, 10+yoffset, 200, 20), writeName, 25);
		if (GUI.Button(Rect(310,30+yoffset,150,20),"Combine"))
            ... list of OnGUI stuff

OnGUI() gets called multiple times per frame, If it is only two, then you are likely getting a character event and a keycode event. Note that using Input.GetKeyDown() is not the best way to handle keyboard input inside OnGUI(). The right way is to use Event.current, and check the if the Event.type is EventType.KeyDown.