diff --git a/src/main/kotlin/com/chylex/intellij/inspectionlens/editor/lens/LensRenderer.kt b/src/main/kotlin/com/chylex/intellij/inspectionlens/editor/lens/LensRenderer.kt
index 615868c..bd7e164 100644
--- a/src/main/kotlin/com/chylex/intellij/inspectionlens/editor/lens/LensRenderer.kt
+++ b/src/main/kotlin/com/chylex/intellij/inspectionlens/editor/lens/LensRenderer.kt
@@ -16,6 +16,7 @@ import com.intellij.ui.paint.EffectPainter
 import java.awt.Cursor
 import java.awt.Graphics
 import java.awt.Graphics2D
+import java.awt.MouseInfo
 import java.awt.Point
 import java.awt.Rectangle
 import java.awt.event.MouseEvent
@@ -54,7 +55,7 @@ class LensRenderer(private var info: HighlightInfo, settings: LensSettingsState)
 		fixBaselineForTextRendering(r)
 		super.paint(inlay, g, r, textAttributes)
 		
-		if (hovered) {
+		if (hovered && isHoveringText()) {
 			paintHoverEffect(inlay, g, r)
 		}
 	}
@@ -124,6 +125,16 @@ class LensRenderer(private var info: HighlightInfo, settings: LensSettingsState)
 		}
 	}
 	
+	private fun isHoveringText(): Boolean {
+		val bounds = inlay.bounds ?: return false
+		val translatedPoint = MouseInfo.getPointerInfo().location.apply {
+			SwingUtilities.convertPointFromScreen(this, inlay.editor.contentComponent)
+			translate(-bounds.x, -bounds.y)
+		}
+		
+		return isHoveringText(translatedPoint)
+	}
+	
 	private fun isHoveringText(point: Point): Boolean {
 		return point.x >= HOVER_HORIZONTAL_PADDING
 			&& point.y >= 4