diff --git a/src/p_user.c b/src/p_user.c
index 0aff39949c2862bc4aa9321b50c09df78ae9d82b..83eb4ea02555c6fc45622fa1f32a1632b0cce4fa 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -1048,7 +1048,8 @@ void P_DoPlayerPain(player_t *player, mobj_t *source, mobj_t *inflictor)
 			fallbackspeed = FixedMul(4*FRACUNIT, player->mo->scale);
 		}
 
-		player->drawangle = ang + ANGLE_180;
+		if (player->pflags & PF_DIRECTIONCHAR)
+			player->drawangle = ang + ANGLE_180;
 		P_InstaThrust(player->mo, ang, fallbackspeed);
 	}