diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index 5c6fc35be50..a84af2c8254 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -429,6 +429,7 @@
modules += new /obj/item/bonesetter(src)
modules += new /obj/item/surgicaldrill(src)
modules += new /obj/item/gripper/medical(src)
+ modules += new /obj/item/gun/medbeam(src)
modules += new /obj/item/melee/energy/sword/cyborg/saw(src) //Energy saw -- primary weapon
modules += new /obj/item/card/emag(src)
modules += new /obj/item/crowbar/cyborg(src)
diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm
index d77621051e2..face61e79c3 100644
--- a/code/modules/projectiles/guns/medbeam.dm
+++ b/code/modules/projectiles/guns/medbeam.dm
@@ -54,8 +54,8 @@
feedback_add_details("gun_fired","[type]")
/obj/item/gun/medbeam/process()
- var/mob/living/carbon/human/H = loc
- if(!istype(H))
+ var/source = loc
+ if(!ishuman(source) && !isrobot(source))
LoseTarget()
return
@@ -68,9 +68,9 @@
last_check = world.time
- if(get_dist(H,current_target)>max_range || !los_check(H,current_target))
+ if(get_dist(source,current_target)>max_range || !los_check(source,current_target))
LoseTarget()
- to_chat(H, "You lose control of the beam!")
+ to_chat(source, "You lose control of the beam!")
return
if(current_target)