             }
 
             guard let set = data.getDataSetByIndex(indices[i].dataSetIndex) as? IPieChartDataSet else { continue }
+            
+            if !set.isHighlightEnabled { continue }
 
             let entryCount = set.entryCount
             var visibleAngleCount = 0

            let sliceAngle = drawAngles[index]
            var innerRadius = userInnerRadius

            let shift = set.isHighlightEnabled ? set.selectionShift : 0.0
            let highlightedRadius = radius + shift

            let accountForSliceSpacing = sliceSpace > 0.0 && sliceAngle <= 180.0

            // draw only if the value is greater than zero
            if (abs(e.y) > Double.ulpOfOne)
            {
                if !dataSet.isHighlightEnabled || !chart.needsHighlight(index: j)
                {
                    let accountForSliceSpacing = sliceSpace > 0.0 && sliceAngle <= 180.0

