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..46f7c42 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
@@ -1020,9 +1020,15 @@ public class OrderedContentMirrorStoreStrategy extends ContentMirrorStoreStrateg
     static String getPropertyNext(@Nonnull final NodeState state, final int lane) {
         String next = "";
         PropertyState ps = state.getProperty(NEXT);
-        if (ps != null) {
-            next = (lane < OrderedIndex.LANES) ? ps.getValue(Type.STRING, lane)
-                                               : "";
+        if (ps != null && lane < OrderedIndex.LANES) {
+            if (ps.count() == 1) { 
+                next = ps.getValue(Type.STRING);
+            } 
+            else if (lane >= ps.count()) {
+                next = ps.getValue(Type.STRING, 0);
+            } else {
+                next = ps.getValue(Type.STRING, lane);
+            }
         }
         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..e8d03dc5 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
@@ -1694,6 +1694,20 @@ public class OrderedContentMirrorStorageStrategyTest {
         assertEquals("d", OrderedContentMirrorStoreStrategy.getPropertyNext(node, 3));
         assertEquals("if we provide a number outside the range an empty next is expeted", "",
             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
