diff --git a/code/modules/resleeving/implant.dm b/code/modules/resleeving/implant.dm
index 30561bb654..35019c4858 100644
--- a/code/modules/resleeving/implant.dm
+++ b/code/modules/resleeving/implant.dm
@@ -93,7 +93,7 @@
user << "\The [src] is already full!"
/obj/item/weapon/backup_implanter/attack(mob/M as mob, mob/user as mob)
- if (!istype(M, /mob/living/carbon))
+ if (!istype(M, /mob/living/carbon) || hasImplant)
return
if (user && imps.len)
M.visible_message("[user] is injecting a backup implant into [M].")
@@ -115,13 +115,7 @@
add_attack_logs(user,M,"Implanted backup implant")
if (ishuman(M))
var/mob/living/carbon/human/H = M
- var/obj/item/organ/external/affected = H.get_organ(/obj/item/organ/external/chest)//CHOMPEDIT Hard coding implant location
- if(affected.implants) //Not just a backup implant, ANY.
- imp.imp_in = null //implant is not implanted
- imp.implanted = 0 //resetting implanted to 0
- imps += imp //readding the implant to the implants
- M.visible_message("The implant rejects [user].")
- else
+ var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
affected.implants += imp
imp.part = affected
BITSET(H.hud_updateflag, BACKUP_HUD)