Soo wierd!!! Clamp doesnt work when moving and goes past clamp point!

Its the part with cameray and cameraz that clamp the positioning. its not clamping when the player its moving.

using UnityEngine;
using System.Collections;

public class CameraController : MonoBehaviour {
	
	public int Sensitivity;

	public float MaxDistance;
	private float MouseY;
	private float MouseYSet;
	private float CameraAngleX;
	
	public float CameraY;
	public float CameraZ;

	public GameObject CameraTarget;
	
	void Start () {
	}
	
	void Update () {
		// Look controls
		MouseY -= Input.GetAxisRaw ("Mouse Y");
		CameraY = Mathf.Clamp (CameraY + (MouseY - MouseYSet) * Sensitivity * 10, CameraTarget.transform.localPosition.y + transform.localScale.y / 2, CameraTarget.transform.localPosition.y + transform.localScale.y / 2 + MaxDistance);
		CameraZ = Mathf.Clamp (CameraZ + (MouseY - MouseYSet) * Sensitivity * 10, CameraTarget.transform.localPosition.z - MaxDistance, CameraTarget.transform.localPosition.z);
		if (MouseYSet != MouseY)
		{
			transform.position = new Vector3 (transform.localPosition.x, CameraY, CameraZ);
			MouseYSet = MouseY;
		}
		transform.LookAt (CameraTarget.transform.localPosition);
	}
}

Use Debug.Log to print out some specific examples of
CameraY, MouseY, MouseYSet, Sensitivity, CameraTarget.transform.localPosition.y, transform.localScale.y, and MaxDistance that you feel are not working.