Change GravityScale in runtime

Hello, i want change rigidbody2d.gravityScale in runtime, but if my object fly (have no collisions) gravityScale remains the same (eq 1), but (!) after hit object with collider, gravityScale are changing! How i can change gravityScale without hit my object with other collider? or this is bug?

Somebody help

Physics2D.gravity = new Vector2 ();