diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 019248d12..09f2fbedf 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -8618,8 +8618,21 @@ void Player::ApplyItemEquipSpell(Item* item, bool apply, bool form_change) continue; // wrong triggering type - if ((apply || form_change) && spellData.SpellTrigger != ITEM_SPELLTRIGGER_ON_EQUIP) - continue; + if (apply) + { + if (spellData.SpellTrigger != ITEM_SPELLTRIGGER_ON_EQUIP) + { + continue; + } + } + else + { + // Auras activated by use should not be removed on unequip + if (spellData.SpellTrigger == ITEM_SPELLTRIGGER_ON_USE) + { + continue; + } + } // check if it is valid spell SpellInfo const* spellproto = sSpellMgr->GetSpellInfo(spellData.SpellId);