diff --git a/src/p_mobj.c b/src/p_mobj.c
index f1dc5d76058089bf5869bf75aab042ba61d671ee..60ba7ed2d7b825e060bd33f3bce5c301e38a52fa 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -1990,6 +1990,8 @@ void P_XYMovement(mobj_t *mo)
 				{
 					mo->momz = transfermomz;
 					mo->standingslope = NULL;
+					if (player->pflags & PF_SPINNING)
+						player->pflags = (player->pflags & ~PF_SPINNING) | (P_GetJumpFlags(player) | PF_THOKKED);
 				}
 			}
 #endif