diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RInternalError.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RInternalError.java
index bf6f09ba024968ef2c42cb536407f2d1d525e950..020aa75d51754a41515cebf39c56c8dac206b3e7 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RInternalError.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RInternalError.java
@@ -217,6 +217,8 @@ public final class RInternalError extends Error implements TruffleException {
                     System.err.println(message);
                 }
             }
+        } catch (ExitException | ThreadDeath t) {
+            throw t;
         } catch (Throwable t) {
             System.err.println("error while reporting internal error:");
             t.printStackTrace();