diff --git a/devices/statistics_writer/statistics_writer.py b/devices/statistics_writer/statistics_writer.py
index 442dad14e53c5c803b82c7b39c6fb2dbca9ae861..8103cff39102614cd7f141fc2c12305e1a43e903 100644
--- a/devices/statistics_writer/statistics_writer.py
+++ b/devices/statistics_writer/statistics_writer.py
@@ -70,11 +70,16 @@ if __name__ == "__main__":
                 writer.next_packet(packet)
             except EOFError:
                 if reconnect and not filename:
-                    logger.warning(f"{datetime.now()}\t Connection lost, attempting to reconnect")
-                    while not receiver.reconnect():
-                        time.sleep(10)
-                        logger.warning("no connection")
-                    logger.warning(f"{datetime.now()}\t Reconnected! Resuming operations")
+                    logger.warning("Connection lost, attempting to reconnect")
+                    while True:
+                        try:
+                            receiver.reconnect()
+                        except Exception as e:
+                            logger.warning(f"Could not reconnect: {e.__class__.__name__}: {e}")
+                            time.sleep(10)
+                        else:
+                            break
+                    logger.warning("Reconnected! Resuming operations")
                 else:
                     logger.info("End of input.")
                     raise SystemExit