diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessSlotNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessSlotNode.java
index 0bd1bdf8ad10afd2d612f3e4fa4f4fea2512e1af..6c6f4809338e16b3f13c8af5884de5833585f33f 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessSlotNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessSlotNode.java
@@ -98,8 +98,9 @@ public abstract class AccessSlotNode extends RNode {
 
     @Specialization(contains = "getSlotS4Cached", guards = "object.isS4()")
     protected Object getSlotS4(RAttributable object, String name) {
-        Object value = object.getAttr(attrProfiles, name.intern());
-        return getSlotS4Internal(object, name, value);
+        String internedName = name.intern();
+        Object value = object.getAttr(attrProfiles, internedName);
+        return getSlotS4Internal(object, internedName, value);
     }
 
     protected RFunction getDataPartFunction(REnvironment methodsNamespace) {