diff --git a/src/p_user.c b/src/p_user.c
index 287ce849c53cee76352b71faf2e06e85051ba4d7..892f4b678482a1199127feca7a97b64aeb202b83 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -1341,7 +1341,7 @@ void P_DoSuperTransformation(player_t *player, boolean giverings)
 	// Transformation animation
 	P_SetPlayerMobjState(player->mo, S_PLAY_SUPER_TRANS1);
 
-	if (giverings)
+	if (giverings && player->rings < 50)
 		player->rings = 50;
 
 	// Just in case.