Try to do the item check last: Qglobal check -> class check -> item check
For some reason if you do an item + qglobal check (in this order), if you don't have the proper qglobal but you turn in the proper item, the npc will still eat it. Changing the check order should solve this issue.
__________________
|