diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm
index 0ccb1f1a242..7c8752c6d7d 100644
--- a/code/game/objects/items/weapons/clown_items.dm
+++ b/code/game/objects/items/weapons/clown_items.dm
@@ -34,6 +34,10 @@
//So this is a workaround. This also makes more sense from an IC standpoint. ~Carn
if(user.client && (target in user.client.screen))
user << "You need to take that [target.name] off before cleaning it."
+ else if(istype(target,/obj/effect/decal/cleanable/blood))
+ user << "You scrub \the [target.name] out."
+ target.clean_blood()
+ return //Blood is a cleanable decal, therefore needs to be accounted for before all cleanable decals.
else if(istype(target,/obj/effect/decal/cleanable))
user << "You scrub \the [target.name] out."
qdel(target)