diff --git a/src/screen.c b/src/screen.c
index afeffbdaa23005d31486618658adaf2254c85ddf..8fc554cc879d89376b1486325ed6054f16254b6f 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -451,8 +451,11 @@ void SCR_ClosedCaptions(void)
 			basey -= 8;
 		else if ((modeattacking == ATTACKING_NIGHTS)
 		|| (!(maptol & TOL_NIGHTS)
-		&& ((cv_powerupdisplay.value == 2)
-		|| (cv_powerupdisplay.value == 1 && !splitscreen && !camera.chase))))
+		&& ((cv_powerupdisplay.value == 2) // "Always"
+		|| (cv_powerupdisplay.value == 1 // "First-person only"
+			&& ((!splitscreen && !camera.chase)
+			|| (splitscreen && !camera2.chase)) // in 2p mode, move up only if 2p's powerup display is on
+			))))
 			basey -= 16;
 	}