diff --git a/src/d_clisrv.c b/src/d_clisrv.c
index 51a3bb24b60f0595aa045dcc6beb0eaa0a119f1e..e314d419f46c3250e3436dbca2739a189115f2ad 100644
--- a/src/d_clisrv.c
+++ b/src/d_clisrv.c
@@ -5611,8 +5611,13 @@ void NetUpdate(void)
 			firstticstosend = gametic;
 			for (i = 0; i < MAXNETNODES; i++)
 				if (nodeingame[i] && nettics[i] < firstticstosend)
+				{
 					firstticstosend = nettics[i];
 
+					if (maketic + 1 >= nettics[i] + BACKUPTICS)
+						Net_ConnectionTimeout(i);
+				}
+
 			// Don't erase tics not acknowledged
 			counts = realtics;