fix insert for simple vector index 
diff --git a/gpt_index/indices/vector_store/vector_indices.py b/gpt_index/indices/vector_store/vector_indices.py
index 73ef44afcbc86..f1ba5c768128d 100644
--- a/gpt_index/indices/vector_store/vector_indices.py
+++ b/gpt_index/indices/vector_store/vector_indices.py
@@ -15,6 +15,7 @@
     SimpleIndexDict,
     WeaviateIndexDict,
 )
+from gpt_index.schema import BaseDocument
 from gpt_index.embeddings.base import BaseEmbedding
 from gpt_index.indices.base import DOCUMENTS_INPUT, BaseGPTIndex
 from gpt_index.indices.query.base import BaseGPTIndexQuery
@@ -102,6 +103,14 @@ def __init__(
         # update docstore with current struct
         self._docstore.add_documents([self.index_struct], allow_update=True)
 
+    def _insert(self, document: BaseDocument, **insert_kwargs: Any) -> None:
+        """Insert a document."""
+        super()._insert(document, **insert_kwargs)
+        # TODO: Temporary hack to also store embeddings in index_struct
+        vector_store = cast(SimpleVectorStore, self._vector_store)
+        embedding_dict = vector_store._data.embedding_dict
+        self._index_struct.embeddings_dict = embedding_dict
+
     @classmethod
     def get_query_map(self) -> Dict[str, Type[BaseGPTIndexQuery]]:
         """Get query map."""
