diff --git a/src/y_inter.c b/src/y_inter.c
index 340e8be4c18b0c2ec90227efd6e299d4b2aeae7f..c8d43cb505105dbfb66881d2fd1df1192be7a212 100644
--- a/src/y_inter.c
+++ b/src/y_inter.c
@@ -1623,11 +1623,14 @@ static void Y_CalculateCompetitionWinners(void)
 		for (j = 0; j < 5; j++)
 			bestat[j] = true;
 
+		if ((players[i].pflags & PF_GAMETYPEOVER) || players[i].lives <= 0)
+			players[i].rings = 0;
+
 		times[i]    = players[i].realtime;
 		rings[i]    = (UINT32)max(players[i].rings, 0);
 		maxrings[i] = (UINT32)players[i].totalring;
 		monitors[i] = (UINT32)players[i].numboxes;
-		scores[i]   = (UINT32)min(players[i].score, 99999990);
+		scores[i]   = (UINT32)min(players[i].score, MAXSCORE);
 
 		for (j = 0; j < MAXPLAYERS; j++)
 		{