diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 1664acee8e..ac6d20450b 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -18418,8 +18418,13 @@ InstanceSave* Player::GetInstanceSave(uint32 mapid, bool raid) void Player::UnbindInstance(uint32 mapid, Difficulty difficulty, bool unload) { - BoundInstancesMap::iterator itr = m_boundInstances[difficulty].find(mapid); - UnbindInstance(itr, difficulty, unload); + auto difficultyItr = m_boundInstances.find(difficulty); + if (difficultyItr != m_boundInstances.end()) + { + auto itr = difficultyItr->second.find(mapid); + if (itr != difficultyItr->second.end()) + UnbindInstance(itr, difficultyItr, unload); + } } void Player::UnbindInstance(BoundInstancesMap::iterator &itr, Difficulty difficulty, bool unload)