diff --git a/src/server.cpp b/src/server.cpp
index 368f0acbfb6cb5cdec7b3601224eede6b9d963bb..07f9875c41f911006c825a750ef3d1ec8897a900 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -1979,13 +1979,13 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
 		{
 			net_proto_version = readU16(&data[2+1+PLAYERNAME_SIZE+PASSWORD_SIZE]);
 		}
-		if(net_proto_version == 0)
+		getClient(peer->id)->net_proto_version = net_proto_version;
+		/*if(net_proto_version == 0)
 		{
-			/*SendAccessDenied(m_con, peer_id,
+			SendAccessDenied(m_con, peer_id,
 					L"Your client is too old (network protocol)");
-			return;*/
-			SendChatMessage(peer_id, L"# Server: NOTE: YOUR CLIENT IS OLD AND DOES NOT WORK PROPERLY WITH THIS SERVER");
-		}
+			return;
+		}*/
 
 		/*
 			Set up player
@@ -2182,6 +2182,11 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
 			BroadcastChatMessage(message);
 		}
 
+		if(getClient(peer->id)->net_proto_version == 0)
+		{
+			SendChatMessage(peer_id, L"# Server: NOTE: YOUR CLIENT IS OLD AND DOES NOT WORK PROPERLY WITH THIS SERVER");
+		}
+
 		return;
 	}
 
diff --git a/src/server.h b/src/server.h
index c300d40e6e7adbcbfc9b068054bdad31540e6b94..4a2d667a8a91e13f60b312d7d464e9a6c78109ab 100644
--- a/src/server.h
+++ b/src/server.h
@@ -235,6 +235,8 @@ class RemoteClient
 	u16 peer_id;
 	// The serialization version to use with the client
 	u8 serialization_version;
+	//
+	u16 net_proto_version;
 	// Version is stored in here after INIT before INIT2
 	u8 pending_serialization_version;
 
@@ -244,6 +246,7 @@ class RemoteClient
 	{
 		peer_id = 0;
 		serialization_version = SER_FMT_VER_INVALID;
+		net_proto_version = 0;
 		pending_serialization_version = SER_FMT_VER_INVALID;
 		m_nearest_unsent_d = 0;
 		m_nearest_unsent_reset_timer = 0.0;