diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RSequence.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RSequence.java
index 3c407bdb435d835b9a481f567bc9ab00bcc9c7bf..0f9d84e56210101d877b47f4319f3f193a275582 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RSequence.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/data/RSequence.java
@@ -157,16 +157,7 @@ public abstract class RSequence implements RAbstractVector {
 
     @Override
     public final RVector materializeNonShared() {
-        RVector resultVector = this.materialize();
-        assert !resultVector.isShared();
-        // marking non-temp must be consistent with what RVector does, otherwise the following code
-        // will not work:
-        // x<-1:3 ; attr(x, "myatt")<-2:4 ; y <- x; attr(x, "myatt1")<-"hello" ; attributes(y)
-        if (FastROptions.NewStateTransition.getBooleanValue()) {
-            resultVector.incRefCount();
-        } else {
-            resultVector.markNonTemporary();
-        }
+        RVector resultVector = this.materialize().materializeNonShared();
         return resultVector;
     }