diff --git a/code/game/objects/items/weapons/cigs.dm b/code/game/objects/items/weapons/cigs.dm
index d8705eeab08..d1d3f8c04b1 100644
--- a/code/game/objects/items/weapons/cigs.dm
+++ b/code/game/objects/items/weapons/cigs.dm
@@ -304,10 +304,15 @@ LIGHTERS ARE IN LIGHTERS.DM
if(ismob(loc))
var/mob/living/M = loc
to_chat(M, "Your [name] goes out.")
- M.drop_item_to_ground(src, force = TRUE) //Force the un-equip so the overlays update
- butt.slot_flags |= ITEM_SLOT_MASK // Temporarily allow it to go on masks
- M.equip_to_slot_if_possible(butt, ITEM_SLOT_MASK)
- butt.slot_flags &= ~ITEM_SLOT_MASK
+ // Only put the butt in the user's mouth if there's already a cig there.
+ if(M.wear_mask == src)
+ to_chat(M, "Butt in your mouth!")
+ M.drop_item_to_ground(src, force = TRUE) //Force the un-equip so the overlays update
+ butt.slot_flags |= ITEM_SLOT_MASK // Temporarily allow it to go on masks
+ M.equip_to_slot_if_possible(butt, ITEM_SLOT_MASK)
+ butt.slot_flags &= ~ITEM_SLOT_MASK
+ else
+ M.drop_item_to_ground(src, force = TRUE)
STOP_PROCESSING(SSobj, src)
qdel(src)