diff --git a/src/p_inter.c b/src/p_inter.c
index 361b98781240013baf81e5119377be3cb94380fe..77e0a64a07c592da3947b75c493f37fc6940d5c4 100644
--- a/src/p_inter.c
+++ b/src/p_inter.c
@@ -3229,17 +3229,13 @@ void P_PlayerRingBurst(player_t *player, INT32 num_rings)
 		}
 		else
 		{
-			fixed_t momxy, momz; // base horizonal/vertical thrusts
+			fixed_t momxy = 6*FRACUNIT;
+			fixed_t momz = 8*FRACUNIT;
 
 			if (i > 15)
 			{
-				momxy = 4*FRACUNIT;
-				momz = 5*FRACUNIT;
-			}
-			else
-			{
-				momxy = 3*FRACUNIT;
-				momz = 4*FRACUNIT;
+				momxy /= 2;
+				momz /= 2;
 			}
 
 			ns = FixedMul(FixedMul(momxy, FRACUNIT + FixedDiv(player->losstime<<FRACBITS, 10*TICRATE<<FRACBITS)), mo->scale);