diff --git a/src/p_user.c b/src/p_user.c
index 4f4f7f80aae164d11ee8f1cf3524e6eddd998236..5d2930bd96e35133cdfb1afbdfdda8b63dc6abab 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -12143,6 +12143,10 @@ void P_PlayerThink(player_t *player)
 				case CR_DUSTDEVIL:
 					player->drawangle += ANG20;
 					break;
+				case CR_FAN:
+					if (player->pflags & PF_ANALOGMODE) // Don't impact drawangle in any special way when on a fan
+						player->drawangle = player->mo->angle;
+					break;
 				/* -- in case we wanted to have the camera freely movable during zoom tubes
 				case CR_ZOOMTUBE:*/
 				case CR_ROPEHANG: