[FLASH 8] MC position's changing at first Zoom attempt

Hi everybody.

I got an mc (named “img”) on the stage. In order to zoom it, I’m using the following code:

[FONT=monospace][LIST=1]
[*]myZoom = function (myDepth)
[*]{
[*]    if (myDepth == "deep")
[*]    {
[*]        myDepth = 4;
[*]    }
[*]    else if (myDepth == "medium")
[*]    {
[*]        myDepth = 8;
[*]    }
[*]    else if (myDepth == "light")
[*]    {
[*]        myDepth = 12;
[*]    } // end else if
[*]    img.onRelease = function()
[*]    {
[*]        if (k > 0)
[*]        {
[*]            return;
[*]        } // end if
[*]        zoom = true;
[*]        dir == 1 ? (dir = -1) : (dir = 1);
[*]        if (dir == 1)
[*]        {
[*]            pt = {x: img._xmouse, y: img._ymouse};
[*]        } // end if
[*]    };
[*]    this.onEnterFrame = function ()
[*]    {
[*]        if (!zoom)
[*]        {
[*]            return;
[*]        } // end if
[*]        img._xscale = img._xscale + dir * k * 50 / myDepth;
[*]        img._yscale = img._yscale + dir * k * 50 / myDepth;
[*]        var pt2 = {x: pt.x, y: pt.y};
[*]        img.localToGlobal(pt2);
[*]        img._x = img._x - (pt2.x - pt.x);
[*]        img._y = img._y - (pt2.y - pt.y);
[*]        ++k;
[*]        if (k == 8)
[*]        {
[*]            zoom = false;
[*]            k = 0;
[*]        } // end if
[*]    };
[*]};
[*]myZoom("medium");[/LIST][/FONT]

Problem is, when I release on the mc it changes its original position to X=0,0 Y=0,0 as you can see HERE.
Obviously, I want it to keep its starting position on the stage and zooming IN and OUT from there.

Thanks to anyone who may help.