diff --git a/Source/controls/plrctrls.cpp b/Source/controls/plrctrls.cpp index d1a7227e1..88a875c4c 100644 --- a/Source/controls/plrctrls.cpp +++ b/Source/controls/plrctrls.cpp @@ -1484,8 +1484,10 @@ void PerformSpellAction() TryIconCurs(); NewCursor(CURSOR_HAND); } else { + int itemId = GetItemIdOnSlot(Slot); CheckInvItem(true, false); - ResetInvCursorPosition(); + if (itemId != GetItemIdOnSlot(Slot)) + ResetInvCursorPosition(); } return; } @@ -1533,8 +1535,10 @@ void CtrlUseInvItem() } if (item->isEquipment()) { + int itemId = GetItemIdOnSlot(Slot); CheckInvItem(true, false); // auto-equip if it's an equipment - ResetInvCursorPosition(); + if (itemId != GetItemIdOnSlot(Slot)) + ResetInvCursorPosition(); } else { UseInvItem(MyPlayerId, pcursinvitem); }