                 {
                     if (previousMask)
                     {
+                    	moveToParentSpace(previousMask);                    	
+                    	
                         elementHost.removeMaskElement(previousMask, this);
                         if (displayObject)
                             displayObject.mask = null;


        if(displayObject == null)
            return;
                    
        if(layoutFeatures.is3D)
        {
            displayObject.transform.matrix3D = layoutFeatures.computedMatrix3D;             

    /**
     *  @private
     */
    private function moveToParentSpace(targ:DisplayObject):void
    {
        /* if (_mask && isMaskInElementSpace)
        { */
        var targetMatrix:Matrix = targ.transform.matrix;
        var dispObjMatrix:Matrix = displayObject.transform.matrix.clone();

        dispObjMatrix.invert();
        targetMatrix.concat(dispObjMatrix);
        targ.transform.matrix = targetMatrix;
        //isMaskInElementSpace = false;
        //}
    }

    /**
     *  @private
     */
    private function moveToLocalSpace(targ:DisplayObject):void
    {
        //if (_mask && !isMaskInElementSpace)
        //{
        var targetMatrix:Matrix = targ.transform.matrix;
        targetMatrix.concat(displayObject.transform.matrix);
        targ.transform.matrix = targetMatrix;
         //   isMaskInElementSpace = true;
        //}
    }

    /**
