diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsCharacterFactor.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsCharacterFactor.java
index aa29bd8250b4fff99442919f9eb02e0ea8667438..1db6100ba110523fc7cfe097d94b81480a216580 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsCharacterFactor.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/AsCharacterFactor.java
@@ -43,13 +43,14 @@ import com.oracle.truffle.r.runtime.ops.na.NACheck;
 @RBuiltin(name = "asCharacterFactor", kind = INTERNAL, parameterNames = "x", behavior = PURE)
 public abstract class AsCharacterFactor extends RBuiltinNode {
     private final NACheck naCheck = NACheck.create();
+    private static final RStringVector CLASS_FACTOR_VEC = RDataFactory.createStringVectorFromScalar(RRuntime.CLASS_FACTOR);
 
     @Child InheritsNode inheritsNode = InheritsNodeGen.create();
     @Child CastToVectorNode castToVectorNode = CastToVectorNode.create();
 
     @Specialization
     protected RStringVector doAsCharacterFactor(Object x) {
-        byte isFactor = (byte) inheritsNode.executeObject(x, RRuntime.CLASS_FACTOR, false);
+        byte isFactor = (byte) inheritsNode.execute(x, CLASS_FACTOR_VEC, false);
         if (isFactor == RRuntime.LOGICAL_FALSE) {
             throw RError.error(RError.SHOW_CALLER, RError.Message.COERCE_NON_FACTOR);
         }