     {
         var cx :int = sprite.x;
         var cy :int = sprite.y;
+        var nx :int = MisoUtil.fullToTile(loc.x);
+        var ny :int = MisoUtil.fullToTile(loc.y);
 
         // if this panel is not yet showing, warp the sprite directly
         if (!visible) {

        if (!isProximateToLoc(nloc)) {
            if (sprite != null) {
                // if they are visible, walk them to their new location
                if (true/*TODO Path _vbounds.intersects(sprite.getBounds())*/) {
                    moveSpriteToLoc(sprite, nloc.loc);
                }
                // now queue them up for removal on arrival as appropriate


        // if the source and destination are both offscreen, warp the
        // sprite to where they are going
        var endsOff :Boolean = !_vbounds.contains(nx, ny);
        if (!_vbounds.intersects(sprite.screenBounds) && endsOff) {
            sprite.cancelMove();
            sprite.placeAtLoc(loc);
            return true;
