                         sweepAngleOuter = 0.0
                     }
                     
+                    let arcStartPointX = center.x + radius * cos(startAngleOuter * ChartUtils.Math.FDEG2RAD)
+                    let arcStartPointY = center.y + radius * sin(startAngleOuter * ChartUtils.Math.FDEG2RAD)
+
                     let path = CGPathCreateMutable()
                     
                     CGPathMoveToPoint(
                         path,
                         nil,
-                        center.x + radius * cos(startAngleOuter * ChartUtils.Math.FDEG2RAD),
-                        center.y + radius * sin(startAngleOuter * ChartUtils.Math.FDEG2RAD))
+                        arcStartPointX,
+                        arcStartPointY)
                     CGPathAddRelativeArc(
                         path,
                         nil,

        for (var j = 0; j < entryCount; j++)
        {
            let sliceAngle = drawAngles[j]
            let sliceSpaceOuterAngle = visibleAngleCount == 1 ?
                0.0 :
                sliceSpace / (ChartUtils.Math.FDEG2RAD * radius)
            
            guard let e = dataSet.entryForIndex(j) else { continue }
            

        var absoluteAngles = chart.absoluteAngles
        let center = chart.centerCircleBox
        let radius = chart.radius
        let userInnerRadius = drawHoleEnabled && holeTransparent ? radius * holeRadiusPercent : 0.0
        
        for (var i = 0; i < indices.count; i++)
        {
