diff --git a/code/game/objects/items/tools.dm b/code/game/objects/items/tools.dm
index d18799c681..d5b21ad52a 100644
--- a/code/game/objects/items/tools.dm
+++ b/code/game/objects/items/tools.dm
@@ -457,6 +457,15 @@
flamethrower_screwdriver(I, user)
else if(istype(I, /obj/item/stack/rods))
flamethrower_rods(I, user)
+ else if(istype(I, /obj/item/reagent_containers) && is_open_container())
+ var/amountNeeded = max_fuel - get_fuel()
+ var/obj/item/reagent_containers/container = I
+ if(length(container.reagents.reagent_list) > 1)
+ to_chat(user, "[container] has too many chemicals mixed into it. You wouldn't want to put the wrong chemicals into [src].")
+ return ..()
+ if(amountNeeded > 0 && container.reagents.has_reagent("welding_fuel"))
+ container.reagents.trans_id_to(src, "welding_fuel", amountNeeded)
+ to_chat(user, "You transfer some fuel from [container] to [src].")
else
return ..()