Index: Item.cpp =================================================================== --- Item.cpp (revision 5262) +++ Item.cpp (working copy) @@ -241,6 +241,7 @@ CharacterDatabase.PExecute("DELETE FROM `item_instance` WHERE `guid` = '%u'", guid); if(HasFlag(ITEM_FIELD_FLAGS, ITEM_FLAGS_WRAPPED)) CharacterDatabase.PExecute("DELETE FROM `character_gifts` WHERE `item_guid` = '%u'", GetGUIDLow()); + RemoveFromUpdateQueueOf(GetOwner()) delete this; return; } Index: Player.cpp =================================================================== --- Player.cpp (revision 5262) +++ Player.cpp (working copy) @@ -9343,7 +9343,7 @@ RemoveEnchantmentDurations(pItem); RemoveItemDurations(pItem); - + pItem->RemoveFromUpdateQueueOf(this) AddEnchantmentDurations(pItem2); // AddItemDurations(pItem2); - pItem2 already have duration listed for player return pItem2; @@ -9422,6 +9422,7 @@ pItem2->SetState(ITEM_CHANGED, this); RemoveEnchantmentDurations(pItem); + pItem->RemoveFromUpdateQueueOf(this) AddEnchantmentDurations(pItem2); ApplyEquipCooldown(pItem2); return pItem2;