diff --git a/src/netcode/d_net.c b/src/netcode/d_net.c
index 4ffb9763a9c8d2f32a02cd3e29bb7807550e0286..062dce5bcf141650b11f2c42e4ac30dcc595fbdd 100644
--- a/src/netcode/d_net.c
+++ b/src/netcode/d_net.c
@@ -182,13 +182,9 @@ static node_t nodes[MAXNETNODES];
 //         0 if a = n (mod 256)
 //        >0 if a > b (mod 256)
 // mnemonic: to use it compare to 0: cmpack(a,b)<0 is "a < b" ...
-FUNCMATH static INT32 cmpack(UINT8 a, UINT8 b)
+FUNCMATH static inline INT32 cmpack(UINT8 a, UINT8 b)
 {
-	register INT32 d = a - b;
-
-	if (d >= 127 || d < -128)
-		return -d;
-	return d;
+	return (SINT8)(a - b);
 }
 
 /** Sets freeack to a free acknum and copies the netbuffer in the ackpak table