diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm
index 3bc8362255..3b6995f93e 100644
--- a/code/game/objects/items/shields.dm
+++ b/code/game/objects/items/shields.dm
@@ -389,6 +389,8 @@ obj/item/shield/riot/bullet_proof
recharge_timerid = null
/obj/item/shield/riot/implant/proc/recharge()
+ if(obj_integrity == max_integrity)
+ return
obj_integrity = max_integrity
if(ismob(loc.loc)) //cyberimplant.user
to_chat(loc, "[src] has recharged its reinforcement matrix and is ready for use!")
diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm
index 139061a601..bdd7da9d5a 100644
--- a/code/modules/surgery/organs/augments_arms.dm
+++ b/code/modules/surgery/organs/augments_arms.dm
@@ -272,7 +272,7 @@
contents = newlist(/obj/item/shield/riot/implant)
/obj/item/organ/cyberimp/arm/shield/Extend(obj/item/I)
- if(item.obj_integrity == 0) //that's how the shield recharge works
+ if(I.obj_integrity == 0) //that's how the shield recharge works
to_chat(owner, "[I] is still too unstable to extend. Give it some time!")
return FALSE
return ..()