diff --git a/src/p_user.c b/src/p_user.c
index 2ec8f599563c875d0265a382ee16b9e1017b3473..da7ad4cb926782d4ce5adf5b1d49d0fef3c33295 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -4525,7 +4525,9 @@ void P_DoJump(player_t *player, boolean soundandstate)
 	player->mo->eflags &= ~MFE_APPLYPMOMZ;
 
 	player->pflags |= P_GetJumpFlags(player);;
-	player->pflags &= ~PF_SPINNING;
+	
+	if (!(player->charflags & SF_NOJUMPDAMAGE))
+		player->pflags &= ~PF_SPINNING;
 
 	if (soundandstate)
 	{