             
             _textWidth = Math.max(_textWidth, textLine.textWidth);
             
-            var width:Number = textLine.x + textLine.textWidth + rightMargin;
+            var width:Number = textLine.x + textLine.textWidth + thisRightMargin;
             
             // Only align if there is width to do so.
             if (leftAligned || (width >= innerWidth && direction == "ltr"))

            // Adjust the compose width for indents and margins. 
            if (n <= 1)
            {
                var totalIndent:Number = blockIndent + leftMargin;
                if (n == 0)
                    totalIndent += indent;
                

		var nextY:int = paragraphY;
		var textLine:TextLine;
        
        const thisLeftMargin:Number = leftMargin;
        const thisRightMargin:Number = rightMargin;

        // TextField seems to do this.  You can see it with wordWrap and 
        // indent > width or when rightMargin > width.  In the former case,
        // the first line is visually empty but contains a character which is 
