diff --git a/src/command.c b/src/command.c
index 0a46839f343f45c69034cf52918ac6a3cb4b56e2..ded854e497d0c307c2d4d3da9d37410b09b0b51f 100644
--- a/src/command.c
+++ b/src/command.c
@@ -1262,12 +1262,12 @@ void CV_RegisterVar(consvar_t *variable)
 	// check net variables
 	if (variable->flags & CV_NETVAR)
 	{
-		variable->netid = consvar_number_of_netids++;
-
 		/* in case of overflow... */
-		if (variable->netid > consvar_number_of_netids)
+		if (consvar_number_of_netids + 1 < consvar_number_of_netids)
 			I_Error("Way too many netvars");
 
+		variable->netid = ++consvar_number_of_netids;
+
 #ifdef OLD22DEMOCOMPAT
 		CV_RegisterOldDemoVar(variable);
 #endif