Instantiate not working properly,instantiate not working properly

I have it set to where enemies drop collectibles upon dying. The line of code I have for that is

Instantiate(dropItem, transform.position, transform.rotation);

however, when i kill an enemy, it drops Two of that dropItem instead of 1, and I have no idea why. It never did this until I updated to 2017. I would like it to be random dropItems, but I want to fix the initial error first. Anyone have any ideas of what is going on?,I have my enemies set to Instantiate collectibles when they die, and they have this line of code written in them;

Instantiate(dropItem, transform.position, transform.rotation);

However, whenever I kill an enemy, it drops 2 of that dropItem instead of just one. Which is really getting frustrating because this did not cause problems until I updated Unity to 2017. I would like it to drop random drop items, but I don’t want duplicates. Anyone have any ideas of why this may be happening?

I noticed similar things happening to me too. Assuming that you are not actually instantiating items at 2 different spots in your scripts, it might just be a glitch in Unity or caused by graphics hardware. I have noticed that sometimes commands are done twice, or audio sounds play twice when initiated from the Update() function. The Update function is called every frame(frequently) so maybe commands are being repeatedly called. One way to be sure is to add a bool variable to check if a dropped item was dropped yet. Like, bool hasDropped = false;
Then when you drop the item:
if (hasDropped = false) { Instantiate(dropItem, transform.position, transform.rotation); hasDropped = true; //After this item, no more will drop }