diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attributes.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attributes.java
index aaa49470a7ab2f49f7e17172c97bfe8cd24cb70a..02d7b8b625bee50339c8ff89c4750593880372aa 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attributes.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/Attributes.java
@@ -25,6 +25,7 @@ package com.oracle.truffle.r.nodes.builtin.base;
 import static com.oracle.truffle.r.runtime.RBuiltinKind.*;
 
 import com.oracle.truffle.api.dsl.*;
+import com.oracle.truffle.api.utilities.*;
 import com.oracle.truffle.r.nodes.builtin.*;
 import com.oracle.truffle.r.runtime.*;
 import com.oracle.truffle.r.runtime.data.*;
@@ -34,6 +35,8 @@ import com.oracle.truffle.r.runtime.data.model.*;
 @RBuiltin(name = "attributes", kind = PRIMITIVE, parameterNames = {"obj"})
 public abstract class Attributes extends RBuiltinNode {
 
+    private final BranchProfile rownamesBranch = BranchProfile.create();
+
     @Specialization(guards = "!hasAttributes")
     protected RNull attributesNull(@SuppressWarnings("unused") RAbstractVector vector) {
         controlVisibility();
@@ -51,6 +54,7 @@ public abstract class Attributes extends RBuiltinNode {
         for (RAttribute attr : attributes) {
             names[z] = attr.getName();
             if (names[z].equals(RRuntime.ROWNAMES_ATTR_KEY)) {
+                rownamesBranch.enter();
                 values[z] = Attr.getFullRowNames(attr.getValue());
             } else {
                 values[z] = attr.getValue();