diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Names.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Names.java
index 2440a11fac28e097f79f11dbed575f6cdaae85a0..d9298157972f4e8d2eedec05c1932ac6e7e34d4f 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Names.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Names.java
@@ -101,7 +101,7 @@ public abstract class Names extends RBuiltinNode.Arg1 {
             if (env.isHostObject(obj) && !(env.asHostObject(obj) instanceof Class)) {
                 if (executeNode == null) {
                     CompilerDirectives.transferToInterpreterAndInvalidate();
-                    executeNode = insert(Message.createExecute(0).createNode());
+                    executeNode = insert(Message.EXECUTE.createNode());
                 }
                 try {
                     TruffleObject clazzStatic = context.toJavaStatic(obj, readNode, executeNode);
diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInterop.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInterop.java
index fb8aeefb5915668f7ee896f8dcd6ef579f6fecb5..b53c7509e572379e042f7026904fe5d9b4a88dda 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInterop.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/fastr/FastRInterop.java
@@ -975,7 +975,7 @@ public class FastRInterop {
         @Specialization(guards = {"isForeignObject(clazz)"})
         @TruffleBoundary
         public Object interopNew(TruffleObject clazz, RArgsValuesAndNames args,
-                        @Cached("createNew(0).createNode()") Node sendNew,
+                        @Cached("NEW.createNode()") Node sendNew,
                         @Cached("create()") R2Foreign r2Foreign,
                         @Cached("create()") Foreign2R foreign2R) {
             try {
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/engine/interop/AbstractMRTest.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/engine/interop/AbstractMRTest.java
index 50155d209f352cf135ea7f7a50dab4397d83c449..d4205f7659f51a8a397a0174ba537e38dbb07ef6 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/engine/interop/AbstractMRTest.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/engine/interop/AbstractMRTest.java
@@ -127,7 +127,7 @@ public abstract class AbstractMRTest {
         for (TruffleObject obj : createTruffleObjects()) {
             try {
                 // TODO if the need appears, also provide for args for execute
-                ForeignAccess.sendExecute(Message.createExecute(0).createNode(), obj);
+                ForeignAccess.sendExecute(Message.EXECUTE.createNode(), obj);
                 assertEquals(obj.getClass().getSimpleName() + " " + obj + " IS_EXECUTABLE", true, ForeignAccess.sendIsExecutable(Message.IS_EXECUTABLE.createNode(), obj));
             } catch (UnsupportedTypeException | ArityException e) {
                 throw e;
@@ -142,7 +142,7 @@ public abstract class AbstractMRTest {
         for (TruffleObject obj : createTruffleObjects()) {
             try {
                 // TODO if the need appears, also provide for args for new
-                ForeignAccess.sendNew(Message.createNew(0).createNode(), obj);
+                ForeignAccess.sendNew(Message.NEW.createNode(), obj);
                 assertEquals(obj.getClass().getSimpleName() + " " + obj + " IS_INSTANTIABLE", true, ForeignAccess.sendIsInstantiable(Message.IS_INSTANTIABLE.createNode(), obj));
             } catch (UnsupportedTypeException | ArityException e) {
                 throw e;
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/engine/interop/RFunctionMRTest.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/engine/interop/RFunctionMRTest.java
index ac786f3080ebfd8e53399a06fe5da21c89c8fd4a..6e93b2b5e28c4f15b8a1a5ca491b0cb09a1c0596 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/engine/interop/RFunctionMRTest.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/engine/interop/RFunctionMRTest.java
@@ -41,17 +41,17 @@ public class RFunctionMRTest extends AbstractMRTest {
         RFunction f = create("function() {}");
         assertTrue(ForeignAccess.sendIsExecutable(Message.IS_EXECUTABLE.createNode(), f));
 
-        TruffleObject result = (TruffleObject) ForeignAccess.sendExecute(Message.createExecute(0).createNode(), f);
+        TruffleObject result = (TruffleObject) ForeignAccess.sendExecute(Message.EXECUTE.createNode(), f);
         assertTrue(ForeignAccess.sendIsNull(Message.IS_NULL.createNode(), result));
 
         f = create("function() {1L}");
-        assertSingletonVector(1, ForeignAccess.sendExecute(Message.createExecute(0).createNode(), f));
+        assertSingletonVector(1, ForeignAccess.sendExecute(Message.EXECUTE.createNode(), f));
 
         f = create("function() {1}");
-        assertSingletonVector(1.0, ForeignAccess.sendExecute(Message.createExecute(0).createNode(), f));
+        assertSingletonVector(1.0, ForeignAccess.sendExecute(Message.EXECUTE.createNode(), f));
 
         f = create("function() {TRUE}");
-        assertSingletonVector(true, ForeignAccess.sendExecute(Message.createExecute(0).createNode(), f));
+        assertSingletonVector(true, ForeignAccess.sendExecute(Message.EXECUTE.createNode(), f));
 
         f = create("function(a) {a}");
         assertSingletonVector("abc", ForeignAccess.sendExecute(Message.createExecute(1).createNode(), f, "abc"));
diff --git a/mx.fastr/suite.py b/mx.fastr/suite.py
index 4f28f735be10d65eff6fbd2997dd997e1818d38a..ac48d796fdeb6583b2679c7281e3eaa1de538c45 100644
--- a/mx.fastr/suite.py
+++ b/mx.fastr/suite.py
@@ -7,7 +7,7 @@ suite = {
             {
                "name" : "truffle",
                "subdir" : True,
-               "version" : "7a94c71966b0c41780035f80020563949180ef47",
+               "version" : "ddbf8fef5b00fe4344d6f2e260c590622b2030bd",
                "urls" : [
                     {"url" : "https://github.com/graalvm/graal", "kind" : "git"},
                     {"url" : "https://curio.ssw.jku.at/nexus/content/repositories/snapshots", "kind" : "binary"},