diff --git a/code/ryzom/client/src/far_tp.cpp b/code/ryzom/client/src/far_tp.cpp
index 1c43a0d79..4ecd98df0 100644
--- a/code/ryzom/client/src/far_tp.cpp
+++ b/code/ryzom/client/src/far_tp.cpp
@@ -602,7 +602,7 @@ void CLoginStateMachine::run()
 			break;
 		case st_disconnect:
 			// Far TP part 2: disconnect from the FS and unload shard-specific data (called from farTPmainLoop())
-			// FarTP.disconnectFromPreviousShard();
+			FarTP.disconnectFromPreviousShard();
 
 			SM_BEGIN_EVENT_TABLE
 				SM_EVENT(ev_connect, st_reconnect_fs);
@@ -1439,9 +1439,6 @@ void CFarTP::farTPmainLoop()
 {
 	ConnectionReadySent = false;
 	LoginSM.pushEvent(CLoginStateMachine::ev_far_tp_main_loop_entered);
-
-	disconnectFromPreviousShard();
-
 	uint nbRecoSelectCharReceived = 0;
 
 	bool welcomeWindow = true;