diff --git a/src/p_user.c b/src/p_user.c
index c5f919c78ec4f6ee73f8535f730ef7883e549cc3..04c5e138797e7981dd71cc783db01edc2a1fab23 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -1342,7 +1342,7 @@ void P_DoSuperTransformation(player_t *player, boolean giverings)
 	P_SetPlayerMobjState(player->mo, S_PLAY_SUPER_TRANS1);
 
 	if (giverings)
-		player->rings = 50;
+		player->rings += 50;
 
 	// Just in case.
 	if (!(mapheaderinfo[gamemap-1]->levelflags & LF_NOSSMUSIC))