diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedVectorNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedVectorNode.java
index 339fa59bc46ddef4cf423e04b03c9f35ea0af308..fe46f5960d66ad28f968a82ba1f70b607df121c2 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedVectorNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/vector/CachedVectorNode.java
@@ -85,7 +85,7 @@ abstract class CachedVectorNode extends RBaseNode {
         if (filteredPositionsLength != -1) {
             Object[] newPositions = new Object[filteredPositionsLength];
             int newPositionIndex = 0;
-            for (int i = 0; i < filteredPositionsLength; i++) {
+            for (int i = 0; i < positions.length; i++) {
                 Object position = positions[i];
                 if (!isRemovePosition(position)) {
                     newPositions[newPositionIndex++] = position;