diff --git a/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod.log b/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod.log
new file mode 100644
index 000000000000..beafde02710d
--- /dev/null
+++ b/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod.log
@@ -0,0 +1,12 @@
+Cleaning output files:
+out/production/RemoveThrowsInBaseMethod/ThrowingTop.class
+End of files
+Compiling files:
+src/ThrowingTop.java
+End of files
+Cleaning output files:
+out/production/RemoveThrowsInBaseMethod/ThrowingBottom.class
+End of files
+Compiling files:
+src/ThrowingBottom.java
+End of files
diff --git a/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/ThrowingTop.java.new b/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/ThrowingTop.java.new
new file mode 100644
index 000000000000..45cfe09cc96c
--- /dev/null
+++ b/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/ThrowingTop.java.new
@@ -0,0 +1,4 @@
+public class ThrowingTop {
+ public void spoil() {
+ }
+}
diff --git a/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/data.xml b/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/data.xml
new file mode 100644
index 000000000000..1703127221bb
--- /dev/null
+++ b/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/data.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/src/Checked.java b/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/src/Checked.java
new file mode 100644
index 000000000000..53dc42b125db
--- /dev/null
+++ b/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/src/Checked.java
@@ -0,0 +1,2 @@
+public class Checked extends Exception {
+}
diff --git a/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/src/ThrowingBottom.java b/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/src/ThrowingBottom.java
new file mode 100644
index 000000000000..ed28053e2d06
--- /dev/null
+++ b/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/src/ThrowingBottom.java
@@ -0,0 +1,5 @@
+public class ThrowingBottom extends ThrowingTop{
+ @Override
+ public void spoil() throws Checked {
+ }
+}
diff --git a/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/src/ThrowingTop.java b/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/src/ThrowingTop.java
new file mode 100644
index 000000000000..4982adab593c
--- /dev/null
+++ b/java/java-tests/testData/compileServer/incremental/membersChange/removeThrowsInBaseMethod/src/ThrowingTop.java
@@ -0,0 +1,4 @@
+public class ThrowingTop {
+ public void spoil() throws Checked {
+ }
+}
diff --git a/jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/Mappings.java b/jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/Mappings.java
index 040bd77b6ea1..f2496ae52e18 100644
--- a/jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/Mappings.java
+++ b/jps/jps-builders/src/org/jetbrains/jps/builders/java/dependencyView/Mappings.java
@@ -1190,7 +1190,7 @@ public class Mappings {
for (final Pair mr : changed) {
final MethodRepr m = mr.first;
final MethodRepr.Diff d = (MethodRepr.Diff)mr.second;
- final boolean throwsChanged = (d.exceptions().added().size() > 0) || (d.exceptions().changed().size() > 0);
+ final boolean throwsChanged = !d.exceptions().unchanged();
debug("Method: ", m.name);
diff --git a/jps/jps-builders/testSrc/org/jetbrains/ether/MemberChangeTest.java b/jps/jps-builders/testSrc/org/jetbrains/ether/MemberChangeTest.java
index 701aa6f8143d..3a3b5364e60b 100644
--- a/jps/jps-builders/testSrc/org/jetbrains/ether/MemberChangeTest.java
+++ b/jps/jps-builders/testSrc/org/jetbrains/ether/MemberChangeTest.java
@@ -176,6 +176,10 @@ public class MemberChangeTest extends IncrementalTestCase {
doTest();
}
+ public void testRemoveThrowsInBaseMethod() {
+ doTest();
+ }
+
public void testAddMethod() {
doTest();
}