diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNodeManager.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNodeManager.java
index b202e26923..d1801f83c6 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNodeManager.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNodeManager.java
@@ -18,6 +18,8 @@ package org.apache.jackrabbit.oak.plugins.index.lucene;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkState;
+import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.ASYNC_PROPERTY_NAME;
+import static org.apache.jackrabbit.oak.plugins.index.IndexUtils.getAsyncLaneName;
 
 import java.io.IOException;
 import java.util.Collections;
@@ -35,6 +37,7 @@ import javax.annotation.Nullable;
 import com.google.common.collect.Iterables;
 import org.apache.jackrabbit.oak.commons.PathUtils;
 import org.apache.jackrabbit.oak.commons.PerfLogger;
+import org.apache.jackrabbit.oak.plugins.index.IndexUtils;
 import org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndex;
 import org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.NRTIndexFactory;
 import org.apache.jackrabbit.oak.plugins.index.lucene.hybrid.ReaderRefreshPolicy;
@@ -68,14 +71,23 @@ public class IndexNodeManager {
         IndexDefinition definition = new IndexDefinition(root, defnNodeState, indexPath);
         List<LuceneIndexReader> readers = readerFactory.createReaders(definition, defnNodeState, indexPath);
         NRTIndex nrtIndex = nrtFactory != null ? nrtFactory.createIndex(definition) : null;
-        if (!readers.isEmpty() || (nrtIndex != null && !hasAsyncIndexerRun(root))){
+        if (!readers.isEmpty() || (nrtIndex != null && !hasAsyncIndexerRun(root, indexPath, defnNodeState))){
             return new IndexNodeManager(PathUtils.getName(indexPath), definition, readers, nrtIndex);
         }
         return null;
     }
 
-    static boolean hasAsyncIndexerRun(NodeState root) {
-        return root.hasChildNode(ASYNC);
+    static boolean hasAsyncIndexerRun(NodeState root, String indexPath, NodeState defnNodeState) {
+        boolean hasAsyncNode = root.hasChildNode(ASYNC);
+
+        String asyncLaneName = getAsyncLaneName(defnNodeState, indexPath, defnNodeState.getProperty(ASYNC_PROPERTY_NAME));
+
+        if (asyncLaneName != null) {
+            return hasAsyncNode && root.getChildNode(ASYNC).hasProperty(asyncLaneName);
+        } else {
+            // useful only for tests - basically non-async index defs
+            return  hasAsyncNode;
+        }
     }
 
     private static final Logger log = LoggerFactory.getLogger(IndexNodeManager.class);
diff --git a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNodeManagerTest.java b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNodeManagerTest.java
index b4c04a8da4..3e368269fb 100644
--- a/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNodeManagerTest.java
+++ b/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexNodeManagerTest.java
@@ -129,6 +129,24 @@ public class IndexNodeManagerTest {
         node.close();
     }
 
+    // OAK-7200
+    @Test
+    public void syncIndexOpenedBeforeFistCycle() throws Exception {
+        IndexNodeManager nodeManager;
+
+        NodeState index = createNRTIndex();
+
+        nodeManager = IndexNodeManager.open("/foo", root, index, readerFactory, nrtFactory);
+        assertNotNull("Index manager couldn't be opened with no /:async", nodeManager);
+
+        // Fake an empty /:async - first indexing cycle isn't done yet
+        builder.child(":async");
+        root = builder.getNodeState();
+
+        nodeManager = IndexNodeManager.open("/foo", root, index, readerFactory, nrtFactory);
+        assertNotNull("Index manager couldn't be opened with empty /:async", nodeManager);
+    }
+
     private static NodeState createNRTIndex(){
         IndexDefinitionBuilder idx = new IndexDefinitionBuilder();
         idx.indexRule("nt:base").property("foo").propertyIndex();
