         // the path will begin at the previous pen location
         // if it does not start with a MoveSegment.
         graphicsPath.moveTo(tx, ty);
-        var lastMoveX:Number = tx;
-        var lastMoveY:Number = ty;
         
         for (var i:int = 0; i < segments.length; i++)
         {
             var segment:PathSegment = segments[i];
-                    
-            segment.draw(graphicsPath, tx,ty,sx,sy, (i > 0 ? segments[i - 1] : null));
-                        
-            if (segment is MoveSegment)
-            {
-                lastMoveX = segment.x;
-                lastMoveY = segment.y;
-            }
-            else if (segment is CloseSegment)
-            {   
-                graphicsPath.lineTo(tx + lastMoveX * sx, ty + lastMoveY * sy);    
-            }
+            segment.draw(graphicsPath, tx, ty, sx, sy, (i > 0 ? segments[i - 1] : null));
         }
     }
     

        if (graphicsPathChanged)
        {
            var rcBounds:Rectangle = getBounds();
            var sx:Number = rcBounds.width == 0 ? 1 : width/rcBounds.width;
            var sy:Number = rcBounds.height == 0 ? 1 : height/rcBounds.height;
                        
            generateGraphicsPath(drawX,drawY,sx,sy);
            graphicsPathChanged = false;
        }
         

        measuredX = bounds.left;
        measuredY = bounds.top;
    }

    /**
     *  @private
     *  @return Returns the axis aligned bounding box of the path resized to width, height and then
