diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/VariablesHighlightingVisitor.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/VariablesHighlightingVisitor.kt
index 352262ae340..536abfbe1f7 100644
--- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/VariablesHighlightingVisitor.kt
+++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/VariablesHighlightingVisitor.kt
@@ -56,7 +56,10 @@ internal class VariablesHighlightingVisitor(holder: AnnotationHolder, bindingCon
}
override fun visitParameter(parameter: KtParameter) {
- visitVariableDeclaration(parameter)
+ val propertyDescriptor = bindingContext.get(BindingContext.PRIMARY_CONSTRUCTOR_PARAMETER, parameter)
+ if (propertyDescriptor == null) {
+ visitVariableDeclaration(parameter)
+ }
super.visitParameter(parameter)
}
diff --git a/idea/testData/highlighter/SmartCast.kt b/idea/testData/highlighter/SmartCast.kt
index a696d5ad4c2..1b4619435d3 100644
--- a/idea/testData/highlighter/SmartCast.kt
+++ b/idea/testData/highlighter/SmartCast.kt
@@ -1,4 +1,4 @@
-class My(val x: Int?)
+class My(val x: Int?)
fun My?.foo(): Int {
if (this == null) return 42
diff --git a/idea/testData/highlighter/Variables.kt b/idea/testData/highlighter/Variables.kt
index b106941771b..8ed2e353c3a 100644
--- a/idea/testData/highlighter/Variables.kt
+++ b/idea/testData/highlighter/Variables.kt
@@ -10,7 +10,7 @@ val y : sq + field + x
}
-class Foo(val a : Int, b : String) {
+class Foo(val a : Int, b : String) {
init {
b
}
@@ -26,4 +26,4 @@ class Foo(val