diff --git a/src/netcode/d_net.c b/src/netcode/d_net.c
index 4a76a313605047893229d661feef23565000dd44..a28d45bb08716c2bd8c8766c766feacc13cc1851 100644
--- a/src/netcode/d_net.c
+++ b/src/netcode/d_net.c
@@ -485,6 +485,13 @@ void Net_CloseConnection(INT32 node)
 
 	nodes[node].flags |= NF_CLOSE;
 
+	if (server)
+	{
+		// send a PT_NOTHING back to acknowledge the packet
+		netbuffer->packettype = PT_NOTHING;
+		HSendPacket(node, false, 0, 0);
+	}
+
 	// check if we are waiting for an ack from this node
 	for (INT32 i = 0; i < MAXACKPACKETS; i++)
 		if (ackpak[i].acknum && ackpak[i].destinationnode == node)