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 1e125cf6708eea51419ec0629fbffc4e4095c368..17fbe3f13c5742daf0efece284c86588ddcb4070 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
@@ -829,6 +829,7 @@ public abstract class RCallNode extends RNode implements RSyntaxNode, RSyntaxCal
             @TruffleBoundary
             public Object execute(MaterializedFrame materializedFrame, RFunction function, Object varArgs, Object s3Args) {
                 if (cachedFunction != function) {
+                    cachedFunction = function;
                     leafCall = insert(createCacheNode(function));
                     prepareArguments = insert(createArguments(function, true));
                 }