diff --git a/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/test/TestBase.java b/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/test/TestBase.java
index a1ce241b9b453cbc44e7c55b361ef38f6b799133..61784355f05511c574f2419554b18d85257ad328 100644
--- a/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/test/TestBase.java
+++ b/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/test/TestBase.java
@@ -30,15 +30,18 @@ import org.junit.BeforeClass;
 import com.oracle.truffle.api.source.Source;
 import com.oracle.truffle.api.vm.PolyglotEngine;
 import com.oracle.truffle.r.engine.TruffleRLanguage;
+import com.oracle.truffle.r.runtime.context.RContext;
 import com.oracle.truffle.r.test.generate.FastRSession;
 
 public class TestBase {
 
     private static PolyglotEngine testVM;
+    static RContext testVMContext;
 
     @BeforeClass
-    public static void setupClass() {
+    public static void setupClass() throws IOException {
         testVM = FastRSession.create().createTestContext(null);
+        testVMContext = testVM.eval(FastRSession.GET_CONTEXT).as(RContext.class);
     }
 
     // clear out warnings (which are stored in shared base env)
diff --git a/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/test/TestUtilities.java b/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/test/TestUtilities.java
index 27a386a2930d7529f37e2864601874766ceae5eb..d98f5becde01104ef41a3ed54189c93c8f452c87 100644
--- a/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/test/TestUtilities.java
+++ b/com.oracle.truffle.r.nodes.test/src/com/oracle/truffle/r/nodes/test/TestUtilities.java
@@ -22,12 +22,27 @@
  */
 package com.oracle.truffle.r.nodes.test;
 
-import com.oracle.truffle.api.*;
-import com.oracle.truffle.api.frame.*;
-import com.oracle.truffle.api.nodes.*;
-import com.oracle.truffle.r.runtime.*;
-import com.oracle.truffle.r.runtime.data.*;
-import com.oracle.truffle.r.runtime.data.model.*;
+import java.io.Closeable;
+import java.io.IOException;
+
+import com.oracle.truffle.api.CompilerDirectives;
+import com.oracle.truffle.api.RootCallTarget;
+import com.oracle.truffle.api.Truffle;
+import com.oracle.truffle.api.TruffleLanguage;
+import com.oracle.truffle.api.frame.VirtualFrame;
+import com.oracle.truffle.api.nodes.Node;
+import com.oracle.truffle.api.nodes.RootNode;
+import com.oracle.truffle.r.runtime.RArguments;
+import com.oracle.truffle.r.runtime.RRuntime;
+import com.oracle.truffle.r.runtime.RType;
+import com.oracle.truffle.r.runtime.ReturnException;
+import com.oracle.truffle.r.runtime.context.RContext;
+import com.oracle.truffle.r.runtime.data.RComplex;
+import com.oracle.truffle.r.runtime.data.RDataFactory;
+import com.oracle.truffle.r.runtime.data.RNull;
+import com.oracle.truffle.r.runtime.data.model.RAbstractDoubleVector;
+import com.oracle.truffle.r.runtime.data.model.RAbstractIntVector;
+import com.oracle.truffle.r.runtime.data.model.RAbstractVector;
 
 public class TestUtilities {
 
@@ -168,7 +183,12 @@ public class TestUtilities {
         }
 
         public Object call(Object... args) {
-            return target.call(RArguments.createUnitialized((Object) args));
+            try (Closeable c = RContext.withinContext(TestBase.testVMContext)) {
+                return target.call(RArguments.createUnitialized((Object) args));
+            } catch (IOException e) {
+                CompilerDirectives.transferToInterpreter();
+                throw new RuntimeException(e);
+            }
         }
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/generate/FastRSession.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/generate/FastRSession.java
index a2754af11f86123d036bf841d45d9fdf0cca8f39..20e48341eb20b748a280b05a0f6598db414bd16b 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/generate/FastRSession.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/generate/FastRSession.java
@@ -140,7 +140,7 @@ public final class FastRSession implements RSession {
         return singleton;
     }
 
-    private static final Source GET_CONTEXT = Source.fromText("invisible(.fastr.context.get())", "<get_context>").withMimeType(TruffleRLanguage.MIME);
+    public static final Source GET_CONTEXT = Source.fromText("invisible(.fastr.context.get())", "<get_context>").withMimeType(TruffleRLanguage.MIME);
 
     public PolyglotEngine createTestContext(ContextInfo contextInfoArg) {
         create();