diff --git a/proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java b/proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java index 9ec3ade7d..d3c2ff90d 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java @@ -576,6 +576,7 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player { } private void handleKickEvent(KickedFromServerEvent originalEvent, Component friendlyReason) { + boolean connectedToServer = connectedServer != null; server.getEventManager().fire(originalEvent) .thenAcceptAsync(event -> { // There can't be any connection in flight now. @@ -594,9 +595,7 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player { createConnectionRequest(res.getServer()) .connectWithIndication() .whenCompleteAsync((newResult, exception) -> { - if (newResult == null || !newResult) { - disconnect(friendlyReason); - } else { + if (newResult != null && newResult && connectedToServer) { if (res.getMessageComponent() == null) { sendMessage(server.getConfiguration().getMessages() .getMovedToNewServerPrefix().append(friendlyReason));