diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy.java
index 0fd121c..70b35a8 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStoreStrategy.java
@@ -1021,8 +1021,15 @@ public class OrderedContentMirrorStoreStrategy extends ContentMirrorStoreStrateg
         String next = "";
         PropertyState ps = state.getProperty(NEXT);
         if (ps != null) {
-            next = (lane < OrderedIndex.LANES) ? ps.getValue(Type.STRING, lane)
-                                               : "";
+            if (ps.isArray()) {
+                if (ps.count() > lane) {
+                    next = ps.getValue(Type.STRING, lane);
+                } else {
+                    next = ps.getValue(Type.STRING, 0);
+                }
+            } else {
+                next = ps.getValue(Type.STRING);
+            }
         }
         return next;
     }
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStorageStrategyTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStorageStrategyTest.java
index 3b21c55..d19848e 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStorageStrategyTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/OrderedContentMirrorStorageStrategyTest.java
@@ -1692,8 +1692,22 @@ public class OrderedContentMirrorStorageStrategyTest {
         assertEquals("b", OrderedContentMirrorStoreStrategy.getPropertyNext(node, 1));
         assertEquals("c", OrderedContentMirrorStoreStrategy.getPropertyNext(node, 2));
         assertEquals("d", OrderedContentMirrorStoreStrategy.getPropertyNext(node, 3));
-        assertEquals("if we provide a number outside the range an empty next is expeted", "",
+        assertEquals("the first lane is expected", "a",
             OrderedContentMirrorStoreStrategy.getPropertyNext(node, OrderedIndex.LANES + 100));
+        
+        node.setProperty(NEXT, "a", Type.STRING);
+        assertEquals("a", OrderedContentMirrorStoreStrategy.getPropertyNext(node));
+        assertEquals("a", OrderedContentMirrorStoreStrategy.getPropertyNext(node, 0));
+        assertEquals("a", OrderedContentMirrorStoreStrategy.getPropertyNext(node, 1));
+        assertEquals("a", OrderedContentMirrorStoreStrategy.getPropertyNext(node, 2));
+        assertEquals("a", OrderedContentMirrorStoreStrategy.getPropertyNext(node, 3));
+
+        node.setProperty(NEXT, ImmutableList.of("a", "b"), Type.STRINGS);
+        assertEquals("a", OrderedContentMirrorStoreStrategy.getPropertyNext(node));
+        assertEquals("a", OrderedContentMirrorStoreStrategy.getPropertyNext(node, 0));
+        assertEquals("b", OrderedContentMirrorStoreStrategy.getPropertyNext(node, 1));
+        assertEquals("a", OrderedContentMirrorStoreStrategy.getPropertyNext(node, 2));
+        assertEquals("a", OrderedContentMirrorStoreStrategy.getPropertyNext(node, 3));
     }
     
     @Test
