diff --git a/semantic_router/text.py b/semantic_router/text.py
index 3d56e37468283bad86c48d7fc9eea22598ea6dd8..17fbc4a3213a4e79e25f04cd9629cdfa0f8f2622 100644
--- a/semantic_router/text.py
+++ b/semantic_router/text.py
@@ -148,7 +148,7 @@ class Conversation(BaseModel):
             for message in topic.docs:
                 self.topics.append((i, message))
 
-    def split_by_topic(self) -> Tuple[List[Tuple[int, str]], List[DocumentSplit]]:
+    def split_by_topic(self, force: bool = False) -> Tuple[List[Tuple[int, str]], List[DocumentSplit]]:
         """
         Splits the messages into topics based on their semantic similarity.
 
@@ -166,6 +166,10 @@ class Conversation(BaseModel):
             )
         new_topics: List[DocumentSplit] = []
 
+        if self.topics:
+            # reset self.topics
+            self.topics = []
+
         # Get unclusteed messages.
         unclustered_messages = self.messages[len(self.topics) :]
         if not unclustered_messages: