diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java
index 70b59ebd340d71baf5ee89a20681998eb1e4fc1e..444300b2e745820bd51faba406013d3c0577642a 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/RRuntimeASTAccessImpl.java
@@ -100,8 +100,8 @@ public class RRuntimeASTAccessImpl implements RRuntimeASTAccess {
             RStringVector formals = list.getNames();
             boolean nullFormals = formals == null;
             RNode fn = unwrapToRNode(list.getDataAtAsObject(0));
-            if (!nullFormals && fn instanceof ReadVariableNode && formals.getLength() > 0 && formals.getDataAt(0).length() > 0) {
-                fn = new NamedReadVariableNode((ReadVariableNode) fn, formals.getDataAt(0));
+            if (!nullFormals && formals.getLength() > 0 && formals.getDataAt(0).length() > 0) {
+                fn = new NamedRNode(fn, formals.getDataAt(0));
             }
             RSyntaxNode[] arguments = new RSyntaxNode[length - 1];
             String[] sigNames = new String[arguments.length];
@@ -156,9 +156,9 @@ public class RRuntimeASTAccessImpl implements RRuntimeASTAccess {
             boolean hasName = false;
             String functionName = "";
             RNode fnNode = RASTUtils.getFunctionNode(node);
-            if (fnNode instanceof NamedReadVariableNode) {
+            if (fnNode instanceof NamedRNode) {
                 hasName = true;
-                functionName = ((NamedReadVariableNode) fnNode).name;
+                functionName = ((NamedRNode) fnNode).name;
             }
             Arguments<RSyntaxNode> args = RASTUtils.findCallArguments(node);
             ArgumentsSignature sig = args.getSignature();
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTUtils.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTUtils.java
index 135c1d53e15f67f66d0d00b32f3e4ac3ada1d01d..857e18ba40803c684a626e865c367ffbbf043235 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTUtils.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTUtils.java
@@ -199,8 +199,8 @@ public class RASTUtils {
             return RCallNode.createCall(sourceSection, RASTUtils.createReadVariableNode(((String) fn)), signature, arguments);
         } else if (fn instanceof ReadVariableNode) {
             return RCallNode.createCall(sourceSection, (ReadVariableNode) fn, signature, arguments);
-        } else if (fn instanceof NamedReadVariableNode) {
-            return RCallNode.createCall(RSyntaxNode.SOURCE_UNAVAILABLE, (NamedReadVariableNode) fn, signature, arguments);
+        } else if (fn instanceof NamedRNode) {
+            return RCallNode.createCall(RSyntaxNode.SOURCE_UNAVAILABLE, (NamedRNode) fn, signature, arguments);
         } else if (fn instanceof GroupDispatchNode) {
             GroupDispatchNode gdcn = (GroupDispatchNode) fn;
             return GroupDispatchNode.create(gdcn.getGenericName(), gdcn.getCallSrc(), signature, arguments);
diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/NamedReadVariableNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/NamedRNode.java
similarity index 89%
rename from com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/NamedReadVariableNode.java
rename to com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/NamedRNode.java
index e193d7d6615ee4893b8a66cae9094841fbf612d5..a1509d59adac194d79ac36c300f8baf579e43744 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/NamedReadVariableNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/variables/NamedRNode.java
@@ -30,11 +30,11 @@ import com.oracle.truffle.r.runtime.nodes.RSyntaxNode;
  * Used when creating an {@code RCallNode} with a function that has a "name". This could subclass
  * {@link ReadVariableNode} but that is currently final.
  */
-public final class NamedReadVariableNode extends RNode {
-    public final ReadVariableNode original;
+public final class NamedRNode extends RNode {
+    public final RNode original;
     public final String name;
 
-    public NamedReadVariableNode(ReadVariableNode original, String name) {
+    public NamedRNode(RNode original, String name) {
         this.original = original;
         this.name = name;
     }
@@ -46,6 +46,6 @@ public final class NamedReadVariableNode extends RNode {
 
     @Override
     public RSyntaxNode getRSyntaxNode() {
-        return original;
+        return original.asRSyntaxNode();
     }
 }