diff --git a/src/main/java/com/android/tools/r8/ir/optimize/InstructionEquivalence.java b/src/main/java/com/android/tools/r8/ir/optimize/InstructionEquivalence.java
index f9c0b30..2f2523d 100644
--- a/src/main/java/com/android/tools/r8/ir/optimize/InstructionEquivalence.java
+++ b/src/main/java/com/android/tools/r8/ir/optimize/InstructionEquivalence.java
@@ -17,7 +17,8 @@
 
   @Override
   protected boolean doEquivalent(Instruction a, Instruction b) {
-    return a.identicalAfterRegisterAllocation(b, allocator);
+    return a.identicalAfterRegisterAllocation(b, allocator)
+        && a.getBlock().getCatchHandlers().equals(b.getBlock().getCatchHandlers());
   }
 
   @Override
@@ -32,6 +33,7 @@
         hash += allocator.getRegisterForValue(inValue, instruction.getNumber());
       }
     }
+    hash = hash * 37 + instruction.getBlock().getCatchHandlers().hashCode();
     return hash;
   }
 }
diff --git a/src/test/examples/nestedtrycatches/NestedTryCatches.java b/src/test/examples/nestedtrycatches/NestedTryCatches.java
new file mode 100644
index 0000000..00bec2a
--- /dev/null
+++ b/src/test/examples/nestedtrycatches/NestedTryCatches.java
@@ -0,0 +1,38 @@
+// Copyright (c) 2017, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+package nestedtrycatches;
+
+public class NestedTryCatches {
+  private static void throwException() {
+    throw new RuntimeException("IGNORED");
+  }
+
+  private static void test() throws Throwable {
+    RuntimeException _primaryExc = null;
+    try {
+      throw new RuntimeException("PRIMARY");
+    } catch (RuntimeException _t) {
+      _primaryExc = _t;
+      throw _t;
+    } finally {
+      // Keep the two calls to throwException() the same line
+      if(_primaryExc!=null) {
+        try {
+          throwException();
+        } catch(Throwable _suppressed) {
+        }
+      } else {
+        throwException();
+      }
+    }
+  }
+
+  public static void main(String[] args) throws Exception {
+    try {
+      test();
+    } catch (Throwable e) {
+      System.out.println("EXCEPTION: " + e.getMessage());
+    }
+  }
+}
diff --git a/src/test/java/com/android/tools/r8/R8RunExamplesTest.java b/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
index 628036c..9e7588d 100644
--- a/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
@@ -86,6 +86,7 @@
         {"throwing.Throwing", "Throwing"},
         {"trivial.Trivial", null},
         {"trycatch.TryCatch", "Success!"},
+        {"nestedtrycatches.NestedTryCatches", "EXCEPTION: PRIMARY"},
         {"trycatchmany.TryCatchMany", "Success!"},
         {"invokeempty.InvokeEmpty", "AB"},
         {"regress.Regress", null},
