diff --git a/semantic_router/routers/base.py b/semantic_router/routers/base.py
index eff8647a9af901616aec30b37bb9de4eb4522057..0d47f939b3c8b84a759edc0ed7bca21f9e150b04 100644
--- a/semantic_router/routers/base.py
+++ b/semantic_router/routers/base.py
@@ -591,6 +591,7 @@ class BaseRouter(BaseModel):
             return diff.to_utterance_str()
         # otherwise we continue with the sync, first locking the index
         try:
+            diff_utt_str: list[str] = []
             _ = self.index.lock(value=True, wait=wait)
             try:
                 # first creating a diff
@@ -604,6 +605,7 @@ class BaseRouter(BaseModel):
                 sync_strategy = diff.get_sync_strategy(sync_mode=sync_mode)
                 # and execute
                 self._execute_sync_strategy(sync_strategy)
+                diff_utt_str = diff.to_utterance_str()
             except Exception as e:
                 logger.error(f"Failed to create diff: {e}")
                 raise e
@@ -613,7 +615,7 @@ class BaseRouter(BaseModel):
         except Exception as e:
             logger.error(f"Failed to lock index for sync: {e}")
             raise e
-        return diff.to_utterance_str()
+        return diff_utt_str
 
     async def async_sync(
         self, sync_mode: str, force: bool = False, wait: int = 0
@@ -645,6 +647,7 @@ class BaseRouter(BaseModel):
             return diff.to_utterance_str()
         # otherwise we continue with the sync, first locking the index
         try:
+            diff_utt_str: list[str] = []
             _ = await self.index.alock(value=True, wait=wait)
             try:
                 # first creating a diff
@@ -658,6 +661,7 @@ class BaseRouter(BaseModel):
                 sync_strategy = diff.get_sync_strategy(sync_mode=sync_mode)
                 # and execute
                 await self._async_execute_sync_strategy(sync_strategy)
+                diff_utt_str = diff.to_utterance_str()
             except Exception as e:
                 logger.error(f"Failed to create diff: {e}")
                 raise e
@@ -667,7 +671,7 @@ class BaseRouter(BaseModel):
         except Exception as e:
             logger.error(f"Failed to lock index for sync: {e}")
             raise e
-        return diff.to_utterance_str()
+        return diff_utt_str
 
     def _execute_sync_strategy(self, strategy: Dict[str, Dict[str, List[Utterance]]]):
         """Executes the provided sync strategy, either deleting or upserting