diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 069a0903cdc..4455d7c27aa 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -1217,7 +1217,7 @@
del(feet_blood_DNA)
return 1
-/mob/living/carbon/human/proc/get_visible_implants(var/class = 0)
+/mob/living/carbon/human/get_visible_implants(var/class = 0)
var/list/visible_implants = list()
for(var/datum/organ/external/organ in src.organs)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 9e26d94ebe5..22ae39d5ce2 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -1109,6 +1109,13 @@ note dizziness decrements automatically in the mob's Life() proc.
/mob/proc/flash_weak_pain()
flick("weak_pain",pain)
+/mob/proc/get_visible_implants(var/class = 0)
+ var/list/visible_implants = list()
+ for(var/obj/item/O in embedded)
+ if(O.w_class > class)
+ visible_implants += O
+ return visible_implants
+
mob/proc/yank_out_object()
set category = "Object"
set name = "Yank out object"
@@ -1135,14 +1142,7 @@ mob/proc/yank_out_object()
if(S == U)
self = 1 // Removing object from yourself.
- if(istype(src,/mob/living/carbon/human))
- var/mob/living/carbon/human/H = src
- valid_objects = H.get_visible_implants(1)
- else
- for(var/obj/item/weapon/W in embedded)
- if(W.w_class >= 2)
- valid_objects += W
-
+ valid_objects = get_visible_implants(1)
if(!valid_objects.len)
if(self)
src << "You have nothing stuck in your body that is large enough to remove."
@@ -1166,7 +1166,9 @@ mob/proc/yank_out_object()
visible_message("[src] rips [selection] out of their body.","You rip [selection] out of your body.")
else
visible_message("[usr] rips [selection] out of [src]'s body.","[usr] rips [selection] out of your body.")
- src.verbs -= /mob/proc/yank_out_object
+ valid_objects = get_visible_implants(0)
+ if(valid_objects.len == 1) //Yanking out last object - removing verb.
+ src.verbs -= /mob/proc/yank_out_object
if(istype(src,/mob/living/carbon/human))