transform applied to inverted mask
diff --git a/player/js/elements/svgElements/SVGBaseElement.js b/player/js/elements/svgElements/SVGBaseElement.js
index e972d16..c18e14f 100644
--- a/player/js/elements/svgElements/SVGBaseElement.js
+++ b/player/js/elements/svgElements/SVGBaseElement.js
@@ -198,10 +198,6 @@
         return this.isVisible;
     }
     this.lastNum = this.currentFrameNum;
-
-    if(this.data.hasMask){
-        this.maskManager.renderFrame();
-    }
     this.finalTransform.opMdf = this.finalTransform.op.mdf;
     this.finalTransform.matMdf = this.finalTransform.mProp.mdf;
     this.finalTransform.opacity = this.finalTransform.op.v;
@@ -246,6 +242,10 @@
     if(this.finalTransform.opMdf && this.layerElement){
         this.layerElement.setAttribute('opacity',this.finalTransform.opacity);
     }
+
+    if(this.data.hasMask){
+        this.maskManager.renderFrame(finalMat);
+    }
     return this.isVisible;
 };
 
diff --git a/player/js/mask.js b/player/js/mask.js
index bad913b..ad630b7 100644
--- a/player/js/mask.js
+++ b/player/js/mask.js
@@ -9,7 +9,6 @@
     this.viewData = new Array(this.masksProperties.length);
     this.maskElement = null;
     this.firstFrame = true;
-    var maskedElement = this.element.maskedElement;
     var defs = this.globalData.defs;
     var i, len = this.masksProperties.length;
 
@@ -158,7 +157,7 @@
     }
 };
 
-MaskElement.prototype.renderFrame = function () {
+MaskElement.prototype.renderFrame = function (finalMat) {
     var i, len = this.masksProperties.length;
     for (i = 0; i < len; i++) {
         if(this.masksProperties[i].mode !== 'n' && this.masksProperties[i].cl !== false){
@@ -166,8 +165,8 @@
                 this.drawPath(this.masksProperties[i],this.viewData[i].prop.v,this.viewData[i]);
             }
             if(this.viewData[i].invRect && (this.element.finalTransform.mProp.mdf || this.firstFrame)){
-                this.viewData[i].invRect.setAttribute('x', -this.element.finalTransform.mProp.v.props[12]);
-                this.viewData[i].invRect.setAttribute('y', -this.element.finalTransform.mProp.v.props[13]);
+                this.viewData[i].invRect.setAttribute('x', -finalMat.props[12]);
+                this.viewData[i].invRect.setAttribute('y', -finalMat.props[13]);
             }
             if(this.storedData[i].x && (this.storedData[i].x.mdf || this.firstFrame)){
                 var feMorph = this.storedData[i].expan;