diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
index 47081c7aca9..01b0834315d 100644
--- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
+++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
@@ -168,12 +168,8 @@
to_chat(user, "There's already a container inside.")
else if(panel_open)
to_chat(user, "Close the maintenance panel first.")
- else
- if(!user.drop_item())
- return ITEM_INTERACT_COMPLETE
-
- beaker = used
- beaker.loc = src
+ else if(user.transfer_item_to(used, src))
+ beaker = used
update_icon(UPDATE_ICON_STATE)
SStgui.update_uis(src)
return ITEM_INTERACT_COMPLETE
@@ -225,8 +221,7 @@
to_chat(user, "Cannot refine into a reagent!")
return ITEM_INTERACT_COMPLETE
- if(user.drop_item())
- used.loc = src
+ if(user.transfer_item_to(used, src))
holdingitems += used
SStgui.update_uis(src)
return ITEM_INTERACT_COMPLETE