diff --git a/semantic_router/routers/base.py b/semantic_router/routers/base.py
index 136a76281307e33cce76a77da086347e9934a379..c59ee1c4b0d7fee3518459b2b8d59552a67a10cb 100644
--- a/semantic_router/routers/base.py
+++ b/semantic_router/routers/base.py
@@ -397,7 +397,9 @@ class BaseRouter(BaseModel):
             self.index.dimensions = dims
         # now init index
         if isinstance(self.index, PineconeIndex):
-            self.index.index = self.index._init_index(force_create=True)
+            # no need to init index if already initialized
+            if self.index.index is None:
+                self.index.index = self.index._init_index(force_create=True)
         # run auto sync if active
         if self.auto_sync:
             local_utterances = self.to_config().to_utterances()