diff --git a/src/p_enemy.c b/src/p_enemy.c
index ece4f3814f24431017f1dac7497fcc8fbea70690..373f091233ff237ac69ba6df00ae507b840fbaba 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -4859,12 +4859,12 @@ void A_FishJump(mobj_t *actor)
 		else
 		{
 			if (actor->spawnpoint && actor->spawnpoint->args[0])
-				jumpval = actor->spawnpoint->args[0];
+				jumpval = actor->spawnpoint->args[0] << (FRACBITS - 2);
 			else
-				jumpval = 44;
+				jumpval = 44 << (FRACBITS - 2);
 		}
 
-		actor->momz = FixedMul(jumpval << (FRACBITS - 2), actor->scale);
+		actor->momz = FixedMul(jumpval, actor->scale);
 		P_SetMobjStateNF(actor, actor->info->seestate);
 	}