diff --git a/src/d_main.c b/src/d_main.c
index 00ede9aec628f71da0af68a3102473a74928c2ac..2f564c6c8f7fd183bb315dd03c5493dca28cb16d 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -825,10 +825,17 @@ void D_SRB2Loop(void)
 			// Lagless camera! Yay!
 			if (gamestate == GS_LEVEL && netgame)
 			{
-				if (splitscreen && camera2.chase)
-					P_MoveChaseCamera(&players[secondarydisplayplayer], &camera2, false);
-				if (camera.chase)
-					P_MoveChaseCamera(&players[displayplayer], &camera, false);
+				// Evaluate the chase cam once for every local realtic
+				// This might actually be better suited inside G_Ticker or TryRunTics
+				for (tic_t chasecamtics = 0; chasecamtics < realtics; chasecamtics++)
+				{
+					if (splitscreen && camera2.chase)
+						P_MoveChaseCamera(&players[secondarydisplayplayer], &camera2, false);
+					if (camera.chase)
+						P_MoveChaseCamera(&players[displayplayer], &camera, false);
+				}
+				R_UpdateViewInterpolation();
+				
 			}
 			// (Only display if not already done for frame interp)
 			cv_frameinterpolation.value == 0 ? D_Display() : 0;