diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 71bf23cf5c9..9e0c382f4aa 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -155,29 +155,9 @@
/obj/item/weapon/weldingtool/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/weapon/screwdriver))
- if(welding)
- user << "Turn it off first."
- return
-
- status = !status
- if(status)
- user << "You resecure [src]."
- else
- user << "[src] can now be attached and modified."
- add_fingerprint(user)
- return
-
- if(!status && istype(I, /obj/item/stack/rods))
- var/obj/item/stack/rods/R = I
- R.use(1)
- var/obj/item/weapon/flamethrower/F = new /obj/item/weapon/flamethrower(user.loc)
- user.drop_from_inventory(src)
- loc = F
- F.weldtool = src
- add_fingerprint(user)
- user.put_in_hands(F)
- return
-
+ flamethrower_screwdriver(I, user)
+ if(istype(I, /obj/item/stack/rods))
+ flamethrower_rods(I, user)
..()
@@ -341,6 +321,27 @@
spawn(100)
user.disabilities &= ~NEARSIGHTED
+/obj/item/weapon/weldingtool/proc/flamethrower_screwdriver(obj/item/I, mob/user)
+ if(welding)
+ user << "Turn it off first."
+ return
+ status = !status
+ if(status)
+ user << "You resecure [src]."
+ else
+ user << "[src] can now be attached and modified."
+ add_fingerprint(user)
+
+/obj/item/weapon/weldingtool/proc/flamethrower_rods(obj/item/I, mob/user)
+ if(!status)
+ var/obj/item/stack/rods/R = I
+ R.use(1)
+ var/obj/item/weapon/flamethrower/F = new /obj/item/weapon/flamethrower(user.loc)
+ user.drop_from_inventory(src)
+ loc = F
+ F.weldtool = src
+ add_fingerprint(user)
+ user.put_in_hands(F)
/obj/item/weapon/weldingtool/largetank
name = "industrial welding tool"
@@ -349,6 +350,14 @@
g_amt = 60
origin_tech = "engineering=2"
+/obj/item/weapon/weldingtool/largetank/cyborg
+
+/obj/item/weapon/weldingtool/largetank/cyborg/flamethrower_screwdriver()
+ return
+
+/obj/item/weapon/weldingtool/largetank/cyborg/flamethrower_rods()
+ return
+
/obj/item/weapon/weldingtool/hugetank
name = "upgraded welding tool"
max_fuel = 80
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index a609ef2474f..bd644f4cf8e 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -83,7 +83,7 @@
emag = new /obj/item/borg/stun(src)
modules += new /obj/item/weapon/rcd/borg(src)
modules += new /obj/item/weapon/extinguisher(src)
- modules += new /obj/item/weapon/weldingtool/largetank(src)
+ modules += new /obj/item/weapon/weldingtool/largetank/cyborg(src)
modules += new /obj/item/weapon/screwdriver(src)
modules += new /obj/item/weapon/wrench(src)
modules += new /obj/item/weapon/crowbar(src)