diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java
index d63e651d5e6ddbd0fb26ba59321e2d93a9a2c136..ac718bfb9723a82f426dbe3f4bbb2041d2f30ca3 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/REngine.java
@@ -323,7 +323,7 @@ final class REngine implements Engine, Engine.Timings {
                 return lastValue;
             } catch (ReturnException ex) {
                 return ex.getResult();
-            } catch (DebugExitException | BrowserQuitException e) {
+            } catch (DebugExitException | BrowserQuitException | ThreadDeath e) {
                 throw e;
             } catch (RError e) {
                 // TODO normal error reporting is done by the runtime
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/FunctionDefinitionNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/FunctionDefinitionNode.java
index f386817df8f1e374cd40894ba116d4b2bf8bddeb..2eea675418c357a52b173477a0eedfc7c2d0bc92 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/FunctionDefinitionNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/FunctionDefinitionNode.java
@@ -280,7 +280,7 @@ public final class FunctionDefinitionNode extends RRootNode implements RSyntaxNo
         } catch (RError e) {
             CompilerDirectives.transferToInterpreter();
             throw e;
-        } catch (DebugExitException | BrowserQuitException e) {
+        } catch (DebugExitException | BrowserQuitException | ThreadDeath e) {
             /*
              * These relate to the debugging support. exitHandlers must be suppressed and the
              * exceptions must pass through unchanged; they are not errors
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/RCallNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/RCallNode.java
index 6e91a6fa3f683e5af26614f81cab5f9f6400d1fc..abf165f5173daffc76b6f5562cd85340f9fd122d 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/RCallNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/function/RCallNode.java
@@ -490,7 +490,13 @@ public abstract class RCallNode extends RCallBaseNode implements RSyntaxNode, RS
                 foreignCallArgCount = argumentsArray.length;
             }
             try {
-                return ForeignAccess.execute(foreignCall, frame, function, argumentsArray);
+                Object result = ForeignAccess.execute(foreignCall, frame, function, argumentsArray);
+                if (result instanceof Boolean) {
+                    // convert to R logical
+                    // TODO byte/short convert to int?
+                    result = RRuntime.asLogical((boolean) result);
+                }
+                return result;
             } catch (Throwable e) {
                 errorProfile.enter();
                 throw RError.error(this, RError.Message.GENERIC, "Foreign function failed: " + e.getMessage() != null ? e.getMessage() : e.toString());
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/tck/FastRTckTest.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/tck/FastRTckTest.java
index d490cae3a476d0eee8f761b900f97ad3b2d1dc94..1d7b1a94649819cc14d27ee000f1564ff769cb9c 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/tck/FastRTckTest.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/tck/FastRTckTest.java
@@ -362,14 +362,10 @@ public class FastRTckTest extends TruffleTCK {
         return firstName + '*' + secondName;
     }
 
-    @Override
-    public void timeOutTest() throws Exception {
-        // TODO We cannot execute this owing to Tck uing Boolean for truth values
-    }
-
     @Override
     public void testRootNodeName() throws Exception {
         // TODO We cannot implement this due to halting in the runtime startup
+        // Fixed in upcoming Truffle
     }
 
 }