diff --git a/src/common/connection.py b/src/common/connection.py
index 04f3c625af1a91d627b7603c977667e2070c592f..654f746771913deb701294a0bdf3d57604f6350e 100644
--- a/src/common/connection.py
+++ b/src/common/connection.py
@@ -850,7 +850,12 @@ class Connection(CommonConnection, ConnectionHandlers):
                 # show error dialog
                 self._connection_lost()
         else:
-            self.disconnect()
+            if self.redirected:
+                self.disconnect(on_purpose=True)
+                self.connect()
+                return
+            else:
+                self.disconnect()
         self.on_purpose = False
     # END disconnectedReconnCB