diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexQueryTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexQueryTest.java
index 96173ca..001da65 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexQueryTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/OrderedPropertyIndexQueryTest.java
@@ -25,11 +25,13 @@ import static org.apache.jackrabbit.JcrConstants.JCR_SYSTEM;
 import static org.apache.jackrabbit.JcrConstants.NT_UNSTRUCTURED;
 import static org.apache.jackrabbit.oak.api.Type.NAME;
 import static org.apache.jackrabbit.oak.api.Type.STRING;
+import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_CONTENT_NODE_NAME;
 import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
 import static org.apache.jackrabbit.oak.plugins.nodetype.NodeTypeConstants.JCR_NODE_TYPES;
 import static org.apache.jackrabbit.oak.spi.query.PropertyValues.newString;
 import static org.junit.Assert.assertNotNull;
 
+import java.io.IOException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -39,10 +41,14 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
+import javax.jcr.NoSuchWorkspaceException;
 import javax.jcr.RepositoryException;
+import javax.security.auth.login.LoginException;
 
 import org.apache.jackrabbit.JcrConstants;
+import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
+import org.apache.jackrabbit.oak.api.ContentRepository;
 import org.apache.jackrabbit.oak.api.PropertyValue;
 import org.apache.jackrabbit.oak.api.ResultRow;
 import org.apache.jackrabbit.oak.api.Tree;
@@ -52,18 +58,23 @@ import org.apache.jackrabbit.oak.plugins.index.IndexUpdateProvider;
 import org.apache.jackrabbit.oak.plugins.index.IndexUtils;
 import org.apache.jackrabbit.oak.plugins.index.property.OrderedIndex.OrderDirection;
 import org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState;
+import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
+import org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent;
 import org.apache.jackrabbit.oak.query.QueryEngineSettings;
 import org.apache.jackrabbit.oak.query.ast.Operator;
 import org.apache.jackrabbit.oak.query.ast.SelectorImpl;
 import org.apache.jackrabbit.oak.query.index.FilterImpl;
 import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
 import org.apache.jackrabbit.oak.spi.commit.EditorHook;
+import org.apache.jackrabbit.oak.spi.commit.EmptyHook;
 import org.apache.jackrabbit.oak.spi.query.Filter;
 import org.apache.jackrabbit.oak.spi.query.PropertyValues;
 import org.apache.jackrabbit.oak.spi.query.QueryIndex;
 import org.apache.jackrabbit.oak.spi.query.QueryIndex.IndexPlan;
+import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
 import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
 import org.apache.jackrabbit.oak.spi.state.NodeState;
+import org.apache.jackrabbit.oak.spi.state.NodeStore;
 import org.apache.jackrabbit.oak.util.NodeUtil;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -81,6 +92,20 @@ public class OrderedPropertyIndexQueryTest extends BasicOrderedPropertyIndexQuer
     
     private static final EditorHook HOOK = new EditorHook(new IndexUpdateProvider(
         new OrderedPropertyIndexEditorProvider()));
+ 
+    private NodeStore nodestore;
+    private ContentRepository repository;
+    
+    @Override
+    protected ContentRepository createRepository() {
+        nodestore = new MemoryNodeStore();
+        repository = new Oak(nodestore).with(new InitialContent())
+            .with(new OpenSecurityProvider())
+            .with(new LowCostOrderedPropertyIndexProvider())
+            .with(new OrderedPropertyIndexEditorProvider())
+            .createContentRepository();
+        return repository;
+    }
 
     @Override
     protected void createTestIndexNode() throws Exception {
@@ -91,6 +116,7 @@ public class OrderedPropertyIndexQueryTest extends BasicOrderedPropertyIndexQuer
         Tree index = root.getTree(path);
         IndexUtils.createIndexDefinition(new NodeUtil(index.getChild(INDEX_DEFINITIONS_NAME)),
                 TEST_INDEX_NAME, false, new String[] { ORDERED_PROPERTY }, null, OrderedIndex.TYPE);
+                
         root.commit();
     }
 
@@ -1038,4 +1064,44 @@ public class OrderedPropertyIndexQueryTest extends BasicOrderedPropertyIndexQuer
 
         setTraversalEnabled(true);
     }
+    
+    /**
+     * <p>
+     * reset the environment variables to be sure to use the latest root. {@code session, root, qe}
+     * <p>
+     * 
+     * @throws IOException
+     * @throws LoginException
+     * @throws NoSuchWorkspaceException
+     */
+    private void resetEnvVariables() throws IOException, LoginException, NoSuchWorkspaceException {
+        session.close();
+        session = repository.login(null, null);
+        root = session.getLatestRoot();
+        qe = root.getQueryEngine();
+    }
+
+    @Test
+    public void oak2360() throws Exception {
+                
+        // adding nodes
+        Tree content = root.getTree("/").addChild("content");
+        content.addChild("a").setProperty(ORDERED_PROPERTY, "hello", STRING);
+        content.addChild("b").setProperty(ORDERED_PROPERTY, "world", STRING);
+        root.commit();
+        
+        // manually deleting :data
+        NodeBuilder builder = nodestore.getRoot().builder();
+        builder.getChildNode(INDEX_DEFINITIONS_NAME).getChildNode(TEST_INDEX_NAME)
+            .getChildNode(INDEX_CONTENT_NODE_NAME).remove();
+        nodestore.merge(builder, EmptyHook.INSTANCE, CommitInfo.EMPTY);
+        resetEnvVariables();
+        
+        setTraversalEnabled(false);
+        
+        List<String> expected = Lists.newArrayList();
+        assertQuery("//*[@" + ORDERED_PROPERTY + "]", "xpath", expected);
+        
+        setTraversalEnabled(true);
+    }
 }
\ No newline at end of file
