                     (h !== nil && lastHighlighted !== nil && !h!.isEqual(lastHighlighted)))
                 {
                     self.lastHighlighted = h
-                    self.highlightValue(highlight: h, callDelegate: true)
+                    if self.showHighlightsForAllDataSets {
+                        var hs: [ChartHighlight] = []
+                        for i in 0..<(self.data?.dataSets.count ?? 0) {
+                            hs.append(ChartHighlight(xIndex: h!.xIndex, dataSetIndex: i))
+                        }
+                        self.highlightValues(hs)
+                    }
+                    else {
+                        self.highlightValue(highlight: h, callDelegate: true)
+                    }
                 }
             }
         }

    private var _decelerationLastTime: NSTimeInterval = 0.0
    private var _decelerationDisplayLink: CADisplayLink!
    private var _decelerationVelocity = CGPoint()
    
    @objc private func tapGestureRecognized(recognizer: UITapGestureRecognizer)
    {
        if (_dataNotSet)

            else
            {
                self.lastHighlighted = h
                if self.showHighlightsForAllDataSets {
                    var hs: [ChartHighlight] = []
                    for i in 0..<(self.data?.dataSets.count ?? 0) {
                        hs.append(ChartHighlight(xIndex: h!.xIndex, dataSetIndex: i))
                        }
                    self.highlightValues(hs)
                }
                else {
                    self.highlightValue(highlight: h, callDelegate: true)
                }
            }
        }
    }
