diff --git a/llama-index-core/llama_index/core/indices/knowledge_graph/base.py b/llama-index-core/llama_index/core/indices/knowledge_graph/base.py
index 8f6ba10162f531bfb11b462c3d2f99ecc99fad3a..594b1d577a1119d45bccd46f23861c3e809ba990 100644
--- a/llama-index-core/llama_index/core/indices/knowledge_graph/base.py
+++ b/llama-index-core/llama_index/core/indices/knowledge_graph/base.py
@@ -138,6 +138,7 @@ class KnowledgeGraphIndex(BaseIndex[KG]):
             object_map=self._object_map,
             llm=self._llm,
             embed_model=embed_model or self._embed_model,
+            retriever_mode=retriever_mode,
             **kwargs,
         )
 
diff --git a/llama-index-core/llama_index/core/indices/knowledge_graph/retrievers.py b/llama-index-core/llama_index/core/indices/knowledge_graph/retrievers.py
index 71e8197b4148293838eaff58163f245b4b827dda..38cd852fd32a0f8ccf512041614fcfee5e641c5a 100644
--- a/llama-index-core/llama_index/core/indices/knowledge_graph/retrievers.py
+++ b/llama-index-core/llama_index/core/indices/knowledge_graph/retrievers.py
@@ -1,4 +1,5 @@
 """KG Retrievers."""
+
 import logging
 from collections import defaultdict
 from enum import Enum
@@ -120,7 +121,11 @@ class KGTableRetriever(BaseRetriever):
         self.query_keyword_extract_template = query_keyword_extract_template or DQKET
         self.similarity_top_k = similarity_top_k
         self._include_text = include_text
-        self._retriever_mode = KGRetrieverMode(retriever_mode)
+        self._retriever_mode = (
+            KGRetrieverMode(retriever_mode)
+            if retriever_mode
+            else KGRetrieverMode.KEYWORD
+        )
 
         self._llm = llm or llm_from_settings_or_context(Settings, index.service_context)
         self._embed_model = embed_model or embed_model_from_settings_or_context(