diff --git a/Spigot-Server-Patches/Block-player-logins-during-server-shutdown.patch b/Spigot-Server-Patches/Block-player-logins-during-server-shutdown.patch
index d26492a786..f85fa00b95 100644
--- a/Spigot-Server-Patches/Block-player-logins-during-server-shutdown.patch
+++ b/Spigot-Server-Patches/Block-player-logins-during-server-shutdown.patch
@@ -14,7 +14,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
      public void tick() {
 +        // Paper start - Do not allow logins while the server is shutting down
 +        if (!MinecraftServer.getServer().isRunning()) {
-+            this.disconnect(new ChatMessage(org.spigotmc.SpigotConfig.restartMessage));
++            this.disconnect(org.bukkit.craftbukkit.util.CraftChatMessage.fromString(org.spigotmc.SpigotConfig.restartMessage)[0]);
 +            return;
 +        }
 +        // Paper end
diff --git a/Spigot-Server-Patches/Fix-hex-colors-not-working-in-some-kick-messages.patch b/Spigot-Server-Patches/Fix-hex-colors-not-working-in-some-kick-messages.patch
new file mode 100644
index 0000000000..12dcd3cb52
--- /dev/null
+++ b/Spigot-Server-Patches/Fix-hex-colors-not-working-in-some-kick-messages.patch
@@ -0,0 +1,71 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Josh Roy <10731363+JRoy@users.noreply.github.com>
+Date: Thu, 27 Aug 2020 16:57:25 -0400
+Subject: [PATCH] Fix hex colors not working in some kick messages
+
+
+diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/net/minecraft/server/HandshakeListener.java
++++ b/src/main/java/net/minecraft/server/HandshakeListener.java
+@@ -0,0 +0,0 @@ public class HandshakeListener implements PacketHandshakingInListener {
+         switch (packethandshakinginsetprotocol.b()) {
+             case LOGIN:
+                 this.c.setProtocol(EnumProtocol.LOGIN);
+-                ChatMessage chatmessage;
++                IChatBaseComponent chatmessage; // Paper - Fix hex colors not working in some kick messages
+ 
+                 // CraftBukkit start - Connection throttle
+                 try {
+@@ -0,0 +0,0 @@ public class HandshakeListener implements PacketHandshakingInListener {
+                     synchronized (throttleTracker) {
+                         if (throttleTracker.containsKey(address) && !"127.0.0.1".equals(address.getHostAddress()) && currentTime - throttleTracker.get(address) < connectionThrottle) {
+                             throttleTracker.put(address, currentTime);
+-                            chatmessage = new ChatMessage(com.destroystokyo.paper.PaperConfig.connectionThrottleKickMessage); // Paper - Configurable connection throttle kick message
++                            chatmessage = org.bukkit.craftbukkit.util.CraftChatMessage.fromString(com.destroystokyo.paper.PaperConfig.connectionThrottleKickMessage, true)[0]; // Paper - Configurable connection throttle kick message // Paper - Fix hex colors not working in some kick messages
+                             this.c.sendPacket(new PacketLoginOutDisconnect(chatmessage));
+                             this.c.close(chatmessage);
+                             return;
+@@ -0,0 +0,0 @@ public class HandshakeListener implements PacketHandshakingInListener {
+                 // CraftBukkit end
+ 
+                 if (packethandshakinginsetprotocol.c() > SharedConstants.getGameVersion().getProtocolVersion()) {
+-                    chatmessage = new ChatMessage( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage.replaceAll("'", "''"), SharedConstants.getGameVersion().getName() ) ); // Spigot
++                    chatmessage = org.bukkit.craftbukkit.util.CraftChatMessage.fromString( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedServerMessage.replaceAll("'", "''"), SharedConstants.getGameVersion().getName() ) , true)[0]; // Spigot // Paper - Fix hex colors not working in some kick messages
+                     this.c.sendPacket(new PacketLoginOutDisconnect(chatmessage));
+                     this.c.close(chatmessage);
+                 } else if (packethandshakinginsetprotocol.c() < SharedConstants.getGameVersion().getProtocolVersion()) {
+-                    chatmessage = new ChatMessage( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getGameVersion().getName() ) ); // Spigot
++                    chatmessage = org.bukkit.craftbukkit.util.CraftChatMessage.fromString( java.text.MessageFormat.format( org.spigotmc.SpigotConfig.outdatedClientMessage.replaceAll("'", "''"), SharedConstants.getGameVersion().getName() ) , true)[0]; // Spigot // Paper - Fix hex colors not working in some kick messages
+                     this.c.sendPacket(new PacketLoginOutDisconnect(chatmessage));
+                     this.c.close(chatmessage);
+                 } else {
+@@ -0,0 +0,0 @@ public class HandshakeListener implements PacketHandshakingInListener {
+                     if (event.callEvent()) {
+                         // If we've failed somehow, let the client know so and go no further.
+                         if (event.isFailed()) {
+-                            chatmessage = new ChatMessage(event.getFailMessage());
++                            chatmessage = org.bukkit.craftbukkit.util.CraftChatMessage.fromString(event.getFailMessage(), true)[0]; // Paper - Fix hex colors not working in some kick messages
+                             this.getNetworkManager().sendPacket(new PacketLoginOutDisconnect(chatmessage));
+                             this.getNetworkManager().close(chatmessage);
+                             return;
+diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/net/minecraft/server/LoginListener.java
++++ b/src/main/java/net/minecraft/server/LoginListener.java
+@@ -0,0 +0,0 @@ public class LoginListener implements PacketLoginInListener {
+     // CraftBukkit start
+     @Deprecated
+     public void disconnect(String s) {
+-        try {
+-            IChatBaseComponent ichatbasecomponent = new ChatComponentText(s);
+-            LoginListener.LOGGER.info("Disconnecting {}: {}", this.d(), s);
+-            this.networkManager.sendPacket(new PacketLoginOutDisconnect(ichatbasecomponent));
+-            this.networkManager.close(ichatbasecomponent);
+-        } catch (Exception exception) {
+-            LoginListener.LOGGER.error("Error whilst disconnecting player", exception);
+-        }
++        disconnect(org.bukkit.craftbukkit.util.CraftChatMessage.fromString(s, true)[0]); // Paper - Fix hex colors not working in some kick messages
+     }
+     // CraftBukkit end
+