diff --git a/src/p_user.c b/src/p_user.c
index 9097827fba43e70f7748d94dda0b62b36478c940..15d618308b8cd3c5213559739a2dfee95f752f95 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -5387,11 +5387,11 @@ static void P_DoJumpStuff(player_t *player, ticcmd_t *cmd)
 						if (player->mo->eflags & MFE_UNDERWATER)
 						{
 							glidespeed >>= 1;
-							playerspeed = 2*playerspeed/3;
+							playerspeed = 6*playerspeed/7;
 							if (!(player->powers[pw_super] || player->powers[pw_sneakers]))
 							{
-								player->mo->momx = (2*(player->mo->momx - player->cmomx)/3) + player->cmomx;
-								player->mo->momy = (2*(player->mo->momy - player->cmomy)/3) + player->cmomy;
+								player->mo->momx = (6*(player->mo->momx - player->cmomx)/7) + player->cmomx;
+								player->mo->momy = (6*(player->mo->momy - player->cmomy)/7) + player->cmomy;
 							}
 						}