diff --git a/src/p_setup.c b/src/p_setup.c
index 65335be3f5239acbf45f1431c4f06522ef0343db..bb96cf89f83cb0a6fdf110881814593bdf607684 100644
--- a/src/p_setup.c
+++ b/src/p_setup.c
@@ -2242,7 +2242,7 @@ static void P_LevelInitStuff(void)
 		}
 
 		// obliteration station...
-		players[i].rings = players[i].spheres =\
+		players[i].spheres =\
 		 players[i].xtralife = players[i].deadtimer =\
 		 players[i].numboxes = players[i].totalring =\
 		 players[i].laps = players[i].aiming =\
@@ -2267,6 +2267,7 @@ static void P_LevelInitStuff(void)
 
 		// aha, the first evidence this shouldn't be a memset!
 		players[i].drillmeter = 40*20;
+		players[i].rings = (ultimatemode ? 0 : mapheaderinfo[gamemap-1]->startrings);
 
 		P_ResetPlayer(&players[i]);
 		// hit these too