diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java
index cf5ea73278..2feb37dde3 100644
--- a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java
@@ -131,7 +131,8 @@ public enum Protocol
                     map( ProtocolConstants.MINECRAFT_1_9, 0x48 ),
                     map( ProtocolConstants.MINECRAFT_1_9_4, 0x47 ),
                     map( ProtocolConstants.MINECRAFT_1_10, 0x47 ),
-                    map( ProtocolConstants.MINECRAFT_1_11, 0x47 )
+                    map( ProtocolConstants.MINECRAFT_1_11, 0x47 ),
+                    map( ProtocolConstants.MINECRAFT_1_11_1, 0x47 )
             );
             TO_CLIENT.registerPacket(
                     SetCompression.class,
@@ -277,7 +278,8 @@ public static class DirectionData
                     ProtocolConstants.MINECRAFT_1_9_2,
                     ProtocolConstants.MINECRAFT_1_9_4,
                     ProtocolConstants.MINECRAFT_1_10,
-                    ProtocolConstants.MINECRAFT_1_11
+                    ProtocolConstants.MINECRAFT_1_11,
+                    ProtocolConstants.MINECRAFT_1_11_1
             ) );
         }
 
diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/ProtocolConstants.java b/protocol/src/main/java/net/md_5/bungee/protocol/ProtocolConstants.java
index 6e477c1e44..670d357f9c 100644
--- a/protocol/src/main/java/net/md_5/bungee/protocol/ProtocolConstants.java
+++ b/protocol/src/main/java/net/md_5/bungee/protocol/ProtocolConstants.java
@@ -14,6 +14,7 @@ public class ProtocolConstants
     public static final int MINECRAFT_1_9_4 = 110;
     public static final int MINECRAFT_1_10 = 210;
     public static final int MINECRAFT_1_11 = 315;
+    public static final int MINECRAFT_1_11_1 = 316;
     public static final List<String> SUPPORTED_VERSIONS = Arrays.asList(
             "1.7.x",
             "1.8.x",
@@ -31,7 +32,8 @@ public class ProtocolConstants
             ProtocolConstants.MINECRAFT_1_9_2,
             ProtocolConstants.MINECRAFT_1_9_4,
             ProtocolConstants.MINECRAFT_1_10,
-            ProtocolConstants.MINECRAFT_1_11
+            ProtocolConstants.MINECRAFT_1_11,
+            ProtocolConstants.MINECRAFT_1_11_1
     );
 
     public enum Direction
diff --git a/proxy/src/main/java/net/md_5/bungee/UserConnection.java b/proxy/src/main/java/net/md_5/bungee/UserConnection.java
index 481b769141..65ace9cd2e 100644
--- a/proxy/src/main/java/net/md_5/bungee/UserConnection.java
+++ b/proxy/src/main/java/net/md_5/bungee/UserConnection.java
@@ -320,7 +320,7 @@ public void operationComplete(ChannelFuture future) throws Exception
                     if ( retry && def != null && ( getServer() == null || def != getServer().getInfo() ) )
                     {
                         sendMessage( bungee.getTranslation( "fallback_lobby" ) );
-                        connect( def, null, false );
+                        connect( def, null, true );
                     } else if ( dimensionChange )
                     {
                         disconnect( bungee.getTranslation( "fallback_kick", future.cause().getClass().getName() ) );
@@ -624,7 +624,7 @@ public String getExtraDataInHandshake()
 
     public void setCompressionThreshold(int compressionThreshold)
     {
-        if ( ch.getHandle().isActive() && this.compressionThreshold == -1 && getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_8 )
+        if ( ch.getHandle().isActive() && this.compressionThreshold == -1 && getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_8 && compressionThreshold >= 0 )
         {
             this.compressionThreshold = compressionThreshold;
             unsafe.sendPacket( new SetCompression( compressionThreshold ) );
diff --git a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java
index f49bdb9ff1..4a5a508387 100644
--- a/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java
+++ b/proxy/src/main/java/net/md_5/bungee/entitymap/EntityMap.java
@@ -40,6 +40,7 @@ public static EntityMap getEntityMap(int version)
             case ProtocolConstants.MINECRAFT_1_10:
                 return EntityMap_1_10.INSTANCE;
             case ProtocolConstants.MINECRAFT_1_11:
+            case ProtocolConstants.MINECRAFT_1_11_1:
                 return EntityMap_1_11.INSTANCE;
         }
         throw new RuntimeException( "Version " + version + " has no entity map" );