camera.ScreenToWorldPoint acting strangely

if(Input.GetButtonDown(“Fire1”)){
var p : Vector3 = camera.ScreenToWorldPoint (Vector3 (Input.mousePosition.x,Input.mousePosition.y,camera.nearClipPlane));

		points.Push(p);

		print (points);

		

	}

This code is creating points to about 200 pixels right of where they should be. Where is my code going wrong?

If youre using GUI text you need to set your anchor to middle center. It defaults to middle left I believe.

http://docs.unity3d.com/Documentation/ScriptReference/GUIText-anchor.html?from=TextAnchor