Не могу понять почему если скейл анимированный, т.е. медленно ползет от 1 до 3, скейл сходит с ума.

Код AS3:
import com.greensock.*;
import com.greensock.easing.*;
function scaleAroundPoint(target:DisplayObject, point:Point, scaleFactor:Number) {
var m:Matrix = target.transform.matrix;
m.translate(-point.x, -point.y);
m.scale(scaleFactor, scaleFactor);
m.translate(point.x, point.y);
target.transform.matrix = m;
}
var scale:Number = mc.scaleX;
TweenMax.to(this, 5, {scale:3, onUpdate:update});
function update() {
scaleAroundPoint(mc, new Point(300, 300), scale);
}
Когда однократно вызываешь метод, передавая туда финальное значение скейла, то все нормально.

Код AS3:
scaleAroundPoint(mc, new Point(300, 300), 3);