diff --git a/src/screen.c b/src/screen.c
index d4785f94113ac918827bb9bf470950d226cf4a41..3842a365d38680c6df3d278b70acc5064ddc8992 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -621,7 +621,13 @@ void SCR_ClosedCaptions(void)
 		y = basey-((i + 2)*10);
 
 		if (closedcaptions[i].b)
-			y -= (closedcaptions[i].b--)*vid.dupy;
+		{
+			y -= closedcaptions[i].b * vid.dupy;
+			if (renderisnewtic)
+			{
+				closedcaptions[i].b--;
+			}
+		}
 
 		if (closedcaptions[i].t < CAPTIONFADETICS)
 			flags |= (((CAPTIONFADETICS-closedcaptions[i].t)/2)*V_10TRANS);