diff --git a/ml/s3i_connector.py b/ml/s3i_connector.py
index 0e338493662126fbed7f7963655c3444f3a89051..c4e09155cf65c7f80d07ba07c88d13f1c7691bdb 100644
--- a/ml/s3i_connector.py
+++ b/ml/s3i_connector.py
@@ -795,6 +795,13 @@ async def __periodically_send_broker_event_message(self, frequency):
 
     async def __reconnect_to_s3i(self, delay, error=None):
         self.__is_s3i_connected = False
+        self.__idp = None
+        self.__dir = None
+        self.__broker = None
+        self.__event_broker = None
+        self.__config = None
+        self.__repo = None
+        
         if error:
             APP_LOGGER.error(f"Due to {error}, reconnect to s3i in {delay} seconds")
         for sleep_task in self.__sleep_tasks:
@@ -803,7 +810,10 @@ async def __reconnect_to_s3i(self, delay, error=None):
                 await sleep_task
             except asyncio.CancelledError:
                 continue
-        APP_LOGGER.info("Canceled all sleep coroutines")
+            print(f"cancel {sleep_task}")
+        if self.__sleep_tasks:
+            APP_LOGGER.info("Canceled all sleep coroutines")
+            self.__sleep_tasks.clear()
         await asyncio.sleep(delay)
         self.__setup_identity_provider()