diff --git a/src/netcode/i_tcp.c b/src/netcode/i_tcp.c
index 12a29599e155ed5dffd0b7acdc54995c4574534a..50e614fbb0a75ba98a720303166463dfdfae35f6 100644
--- a/src/netcode/i_tcp.c
+++ b/src/netcode/i_tcp.c
@@ -456,6 +456,8 @@ static boolean SOCK_cmpipv6(mysockaddr_t *a, mysockaddr_t *b, UINT8 mask)
 {
 	UINT8 bitmask;
 	I_Assert(mask <= 128);
+	if (mask == 0)
+		mask = 128;
 	if (memcmp(&a->ip6.sin6_addr.s6_addr, &b->ip6.sin6_addr.s6_addr, mask / 8) != 0)
 		return false;
 	if (mask % 8 == 0)