Collision problem with localScale

I am using the character controller component on my character, well I am trying to have the ability to shrink. Every frame I have it where the scale is set to Vector3(1,1,1); and when the button is pushed Vector3(.3, .3, .3). However when I start the game, he falls through the floor. What is the problem really?

This is a similar code I’m using.

function Update() 
{
transform.localScale = Vector3(1,1,1);
if(Input.GetButton("Shrink")) 
      transform.localScale = Vector3(.3,.3,.3);
}

Bump, I really need some help with this.

Thanks in Advance.