diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowInspectionBase.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowInspectionBase.java
index 6b12851cb9a2..d2d6500de158 100644
--- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowInspectionBase.java
+++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/DataFlowInspectionBase.java
@@ -737,6 +737,8 @@ public class DataFlowInspectionBase extends BaseJavaBatchLocalInspectionTool {
private static SimplifyBooleanExpressionFix createIntention(PsiElement element, boolean value) {
if (!(element instanceof PsiExpression)) return null;
+ if (PsiTreeUtil.findChildOfType(element, PsiAssignmentExpression.class) != null) return null;
+
final PsiExpression expression = (PsiExpression)element;
while (element.getParent() instanceof PsiExpression) {
element = element.getParent();
diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/DontSimplifyAssignment.java b/java/java-tests/testData/inspection/dataFlow/fixture/DontSimplifyAssignment.java
new file mode 100644
index 000000000000..d5e48e487192
--- /dev/null
+++ b/java/java-tests/testData/inspection/dataFlow/fixture/DontSimplifyAssignment.java
@@ -0,0 +1,9 @@
+class Contracts {
+
+ boolean x;
+
+ public boolean testSideEffect() {
+ return x && !(x = false);
+ }
+
+}
\ No newline at end of file
diff --git a/java/java-tests/testSrc/com/intellij/codeInspection/DataFlowInspectionTest.java b/java/java-tests/testSrc/com/intellij/codeInspection/DataFlowInspectionTest.java
index 1ec4ca567e99..195e4395322d 100644
--- a/java/java-tests/testSrc/com/intellij/codeInspection/DataFlowInspectionTest.java
+++ b/java/java-tests/testSrc/com/intellij/codeInspection/DataFlowInspectionTest.java
@@ -371,6 +371,11 @@ public class DataFlowInspectionTest extends LightCodeInsightFixtureTestCase {
myFixture.checkResultByFile(getTestName(false) + "_after.java");
}
+ public void testDontSimplifyAssignment() {
+ doTest();
+ assertEmpty(myFixture.filterAvailableIntentions("Simplify"));
+ }
+
public void testAssertThat() {
myFixture.addClass("package org.hamcrest; public class CoreMatchers { " +
"public static Matcher notNullValue() {}\n" +