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

            }

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

            let entryCount = set.entryCount
            var visibleAngleCount = 0
