diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinRecursiveCallLineMarkerProvider.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinRecursiveCallLineMarkerProvider.kt
index f2051e5ebfa..df58f2bae73 100644
--- a/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinRecursiveCallLineMarkerProvider.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/KotlinRecursiveCallLineMarkerProvider.kt
@@ -80,7 +80,8 @@ public class KotlinRecursiveCallLineMarkerProvider() : LineMarkerProvider {
val receiverOwner =
when (receiver) {
is ExpressionReceiver -> {
- val thisRef = (receiver.getExpression() as? JetThisExpression)?.getInstanceReference() ?: return true
+ val thisRef = (JetPsiUtil.deparenthesize(receiver.getExpression()) as?
+ JetThisExpression)?.getInstanceReference() ?: return true
bindingContext[BindingContext.REFERENCE_TARGET, thisRef] ?: return true
}
diff --git a/idea/testData/codeInsight/lineMarker/recursiveCall/thisQualifier.kt b/idea/testData/codeInsight/lineMarker/recursiveCall/thisQualifier.kt
index d4a36ec801c..db5f9f489a8 100644
--- a/idea/testData/codeInsight/lineMarker/recursiveCall/thisQualifier.kt
+++ b/idea/testData/codeInsight/lineMarker/recursiveCall/thisQualifier.kt
@@ -7,6 +7,7 @@ class Outer {
if (a > 0) {
this.f(a - 1)
this@F.f(a - 1)
+ ((this@F)).f(a - 1)
this@Outer.f(a - 1)
}