         // display objects across multiple graphic elements.
         var bitmapData:BitmapData = new BitmapData(actualSize.x, actualSize.y, transparent, fillColor);
 
-        var m:Matrix = displayObject.transform.matrix.clone();
-        m.translate(-actualPosition.x, -actualPosition.y);
+        var m:Matrix = displayObject.transform.matrix;
+		
+		if (m)
+        	m.translate(-actualPosition.x, -actualPosition.y);
         
         if (displayObject && nextSiblingNeedsDisplayObject)
             bitmapData.draw(displayObject, m);

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

            dispObjMatrix.invert();
            maskMatrix.concat(dispObjMatrix);
            _mask.transform.matrix = maskMatrix;
            isMaskInElementSpace = false;
        }
    }

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

    /**

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