diff --git a/packages/core/src/index/list/ListIndex.ts b/packages/core/src/index/list/ListIndex.ts
index 56a17e0fe07c4d8348c3e503b89b4b77bddd0f65..dcf7925c94d7dd78f036f7082b4aa6861d13a977 100644
--- a/packages/core/src/index/list/ListIndex.ts
+++ b/packages/core/src/index/list/ListIndex.ts
@@ -53,7 +53,7 @@ export class ListIndex extends BaseIndex<IndexList> {
           "Cannot initialize VectorStoreIndex without nodes or indexStruct"
         );
       }
-      indexStruct = ListIndex._buildIndexFromNodes(
+      indexStruct = await ListIndex._buildIndexFromNodes(
         options.nodes,
         storageContext.docStore
       );
@@ -110,14 +110,14 @@ export class ListIndex extends BaseIndex<IndexList> {
     return new RetrieverQueryEngine(this.asRetriever());
   }
 
-  static _buildIndexFromNodes(
+  static async _buildIndexFromNodes(
     nodes: BaseNode[],
     docStore: BaseDocumentStore,
     indexStruct?: IndexList
-  ): IndexList {
+  ): Promise<IndexList> {
     indexStruct = indexStruct || new IndexList();
 
-    docStore.addDocuments(nodes, true);
+    await docStore.addDocuments(nodes, true);
     for (const node of nodes) {
       indexStruct.addNode(node);
     }