diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetClass.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetClass.java
index 8e96287c74c453bf3886c9d01f26bc6130609f11..53acb6b72301b657a3f8aacf32cae30c8617da3f 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetClass.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/GetClass.java
@@ -21,7 +21,7 @@ import com.oracle.truffle.r.runtime.data.model.*;
 @RBuiltin(name = "class", kind = PRIMITIVE, parameterNames = {"x"})
 public abstract class GetClass extends RBuiltinNode {
 
-    @Child private ClassHierarchyNode classHierarchy = ClassHierarchyNodeGen.create(true, true);
+    @Child private ClassHierarchyNode classHierarchy = ClassHierarchyNodeGen.create(true, false);
 
     @Specialization
     protected RAbstractStringVector getClass(Object x) {
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_class.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_class.java
index 5b9ffbe05264fffb09156578c1d4cfdc39ac3c19..3d278e42fb2b8e422f4ff44636685f55e9937f50 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_class.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_class.java
@@ -187,5 +187,7 @@ public class TestBuiltin_class extends TestBase {
         assertEval("{x<-c(1,2,3);class(x)}");
 
         assertEval("{x<-seq(1,10);class(x)}");
+
+        assertEval("{  gen<-function(object) 0; setGeneric(\"gen\"); class(gen) }");
     }
 }