diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RArgsValuesAndNamesMR.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RArgsValuesAndNamesMR.java
index 82f194dcdc6c9aae2fd1b4a221be85eedfaa681e..dd8b1d3e8b1b3de9880edd15e8efb90b1ccd7e43 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RArgsValuesAndNamesMR.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/interop/RArgsValuesAndNamesMR.java
@@ -22,6 +22,7 @@
  */
 package com.oracle.truffle.r.engine.interop;
 
+import com.oracle.truffle.api.frame.VirtualFrame;
 import com.oracle.truffle.api.interop.CanResolve;
 import com.oracle.truffle.api.interop.MessageResolution;
 import com.oracle.truffle.api.interop.Resolve;
@@ -45,6 +46,14 @@ public class RArgsValuesAndNamesMR {
         }
     }
 
+    @Resolve(message = "GET_SIZE")
+    public abstract static class RArgsValuesAndNamesGetSizeNode extends Node {
+        protected Object access(RArgsValuesAndNames receiver) {
+            assert false : "GET_SIZE";
+            return receiver.getLength();
+        }
+    }
+
     @Resolve(message = "IS_NULL")
     public abstract static class RArgsValuesAndNamesIsNullNode extends Node {
         protected Object access(@SuppressWarnings("unused") RArgsValuesAndNames receiver) {
@@ -52,6 +61,13 @@ public class RArgsValuesAndNamesMR {
         }
     }
 
+    @Resolve(message = "READ")
+    public abstract static class RArgsValuesAndNamesReadNode extends Node {
+        protected Object access(@SuppressWarnings("unused") VirtualFrame frame, RArgsValuesAndNames receiver, int index) {
+            return receiver.getArgument(index);
+        }
+    }
+
     @CanResolve
     public abstract static class RArgsValuesAndNamesCheck extends Node {