diff --git a/semantic_router/utils/logger.py b/semantic_router/utils/logger.py
index 607f09d512a08b9d52afeaf8e9ebe73883870f35..2c1980d86801453184e63348ee82d56ea21291b6 100644
--- a/semantic_router/utils/logger.py
+++ b/semantic_router/utils/logger.py
@@ -30,12 +30,11 @@ def add_coloured_handler(logger):
 
 def setup_custom_logger(name):
     logger = logging.getLogger(name)
-    logger.handlers = []
 
-    add_coloured_handler(logger)
-
-    logger.setLevel(logging.INFO)
-    logger.propagate = False
+    if not logger.hasHandlers():
+        add_coloured_handler(logger)
+        logger.setLevel(logging.INFO)
+        logger.propagate = False
 
     return logger