                 // We need to restore both the matrix translation and the rotation translation
                 transformMatrix.translate(tx + bitmapTopLeft.x - 1, ty + bitmapTopLeft.y - 1);
                 // Save off the bounds so we can compare it the next time this function is called
-                lastBoundsWidth = bounds.width;
-                lastBoundsHeight = bounds.height;
+                lastBoundsWidth = targetBounds.width;
+                lastBoundsHeight = targetBounds.height;
                 
                 nonRepeatSourceCreated = true;
                 

	/**
	 *  @private
	 */
	public function begin(target:Graphics, bounds:Rectangle):void
	{		
        var sourceAsBitmapData:BitmapData = _bitmapData;
        

        if (compoundTransform)
        {
            transformMatrix = compoundTransform.matrix;
            transformMatrix.translate(targetBounds.left, targetBounds.top);
        }
        else
        {
