diff --git a/code/game/objects/items/clothing.dm b/code/game/objects/items/clothing.dm
index 679b53653d..080b3e7f00 100644
--- a/code/game/objects/items/clothing.dm
+++ b/code/game/objects/items/clothing.dm
@@ -174,6 +174,7 @@ THERMAL GLASSES
desc = A.desc
icon_state = A.icon_state
item_state = A.item_state
+ usr.update_clothing()
color = A.color
/obj/item/clothing/under/chameleon/emp_act(severity)
diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm
index 2bb197d7ce..517a5f07e9 100755
--- a/code/game/objects/items/item.dm
+++ b/code/game/objects/items/item.dm
@@ -10,6 +10,7 @@
/obj/item/proc/dropped(mob/user as mob)
..()
+ user.update_clothing()
// So you can't drop the Offhand
if(istype(src, /obj/item/weapon/offhand))
diff --git a/code/modules/mob/living/carbon/human/human_attackalien.dm b/code/modules/mob/living/carbon/human/human_attackalien.dm
index 1b8e5a1ef1..0f64a90468 100644
--- a/code/modules/mob/living/carbon/human/human_attackalien.dm
+++ b/code/modules/mob/living/carbon/human/human_attackalien.dm
@@ -70,4 +70,5 @@
for(var/mob/O in viewers(src, null))
if ((O.client && !( O.blinded )))
O.show_message(text("\red [] has tried to disarm []!", M, src), 1)
+ update_clothing()
return
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm
index 4099ab4174..9b02e587c1 100644
--- a/code/modules/mob/living/carbon/human/human_attackhand.dm
+++ b/code/modules/mob/living/carbon/human/human_attackhand.dm
@@ -124,6 +124,7 @@
playsound(loc, 'punchmiss.ogg', 25, 1, -1)
visible_message("\red [M] attempted to disarm [src]!")
+ update_clothing()
return
diff --git a/code/modules/mob/living/carbon/human/human_attackpaw.dm b/code/modules/mob/living/carbon/human/human_attackpaw.dm
index 8d01ca3e8f..568ca9969d 100644
--- a/code/modules/mob/living/carbon/human/human_attackpaw.dm
+++ b/code/modules/mob/living/carbon/human/human_attackpaw.dm
@@ -20,4 +20,5 @@
src = null
src = H.monkeyize()
contract_disease(D,1,0)
+ update_clothing()
return
diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm
index 53f49a1ce5..013050d9f9 100644
--- a/code/modules/mob/living/carbon/human/human_damage.dm
+++ b/code/modules/mob/living/carbon/human/human_damage.dm
@@ -67,4 +67,5 @@
UpdateDamageIcon()
updatehealth()
+ update_clothing()
return 1
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 67773f5f5f..0625a31bcb 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -135,4 +135,5 @@ emp_act
if(bloody)
if(src.wear_suit) src.wear_suit.add_blood(src)
if(src.w_uniform) src.w_uniform.add_blood(src)
- src.UpdateDamageIcon()
\ No newline at end of file
+ UpdateDamageIcon()
+ update_clothing()
\ No newline at end of file
diff --git a/code/modules/mob/organ/organ.dm b/code/modules/mob/organ/organ.dm
index 978906f84d..1e74a8c9d1 100644
--- a/code/modules/mob/organ/organ.dm
+++ b/code/modules/mob/organ/organ.dm
@@ -293,6 +293,7 @@
var/lol = pick(cardinal)
step(H,lol)
destroyed = 1
+ src.owner.update_clothing()
proc/createwound(var/size = 1)
if(ishuman(src.owner))