diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 25d9425b9..2abdf6374 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -8909,7 +8909,7 @@ void Player::RemovePet(Pet* pet, PetSaveMode mode, bool returnreagent) return; } - if (returnreagent && (pet || m_temporaryUnsummonedPetNumber) && !InBattleground()) + if (returnreagent && (pet || (m_temporaryUnsummonedPetNumber && (!m_session || !m_session->PlayerLogout()))) && !InBattleground()) { //returning of reagents only for players, so best done here uint32 spellId = pet ? pet->GetUInt32Value(UNIT_CREATED_BY_SPELL) : m_oldpetspell;