diff --git a/Source/missiles.cpp b/Source/missiles.cpp index a3010519516..a7df84cbd77 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -3680,7 +3680,7 @@ void ProcessRhino(Missile &missile) } UpdateMissilePos(missile); Point newPos = missile.position.tile; - if (!IsTileAvailable(monster, newPos) || (monster.ai == MonsterAIID::Snake && !IsTileAvailable(monster, newPosSnake))) { + if (!IsTileAvailable(monster, newPos) || (monster.ai == MonsterAIID::Snake && (!IsTileAvailable(monster, newPosSnake) || missile._miAnimFrame >= missile._miAnimLen))) { MissToMonst(missile, prevPos); missile._miDelFlag = true; return;