diff --git a/code/game/objects/items/weapons/cosmetics.dm b/code/game/objects/items/weapons/cosmetics.dm
index 218d2fb21cf..01ce9f87c8c 100644
--- a/code/game/objects/items/weapons/cosmetics.dm
+++ b/code/game/objects/items/weapons/cosmetics.dm
@@ -78,6 +78,4 @@
item_state = "purplecomb"
/obj/item/weapon/haircomb/attack_self(mob/user)
- if(user.r_hand == src || user.l_hand == src)
- user.visible_message(text("[] uses [] to comb their hair with incredible style and sophistication. What a [].", user, src, user.gender == FEMALE ? "lady" : "guy"))
- return
+ user.visible_message("[user] uses [src] to comb their hair with incredible style and sophistication. What a [user.gender == FEMALE ? "lady" : "guy"].")
\ No newline at end of file
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index aced90f9bb6..261aa3266a8 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -30,7 +30,7 @@
/obj/structure/mirror/bullet_act(var/obj/item/projectile/Proj)
-
+
if(prob(Proj.get_structure_damage() * 2))
if(!shattered)
shatter()
@@ -64,6 +64,13 @@
user.visible_message("[user] hits [src] and bounces off!")
return 1
+/obj/structure/mirror/Destroy()
+ for(var/user in ui_users)
+ var/datum/nano_module/appearance_changer/AC = ui_users[user]
+ qdel(AC)
+ ui_users.Cut()
+ ..()
+
// The following mirror is ~special~.
/obj/structure/mirror/raider
name = "cracked mirror"
@@ -91,3 +98,27 @@
raiders.update_access(vox)
qdel(user)
..()
+
+/obj/item/weapon/mirror
+ name = "mirror"
+ desc = "A SalonPro Nano-Mirror(TM) brand mirror! Now a portable version."
+ icon = 'icons/obj/items.dmi'
+ icon_state = "mirror"
+ var/list/ui_users = list()
+
+/obj/item/weapon/mirror/attack_self(mob/user as mob)
+ if(ishuman(user))
+ var/datum/nano_module/appearance_changer/AC = ui_users[user]
+ if(!AC)
+ AC = new(src, user)
+ AC.name = "SalonPro Nano-Mirror™"
+ AC.flags = APPEARANCE_HAIR
+ ui_users[user] = AC
+ AC.ui_interact(user)
+
+/obj/item/weapon/mirror/Destroy()
+ for(var/user in ui_users)
+ var/datum/nano_module/appearance_changer/AC = ui_users[user]
+ qdel(AC)
+ ui_users.Cut()
+ ..()
\ No newline at end of file
diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm
index 40cd37094dd..dfc26cb7c6a 100644
--- a/code/modules/client/preferences_gear.dm
+++ b/code/modules/client/preferences_gear.dm
@@ -1233,6 +1233,12 @@ var/global/list/gear_datums = list()
sort_category = "misc"
cost = 1
+/datum/gear/mirror
+ display_name = "handheld mirror"
+ path = /obj/item/weapon/mirror
+ sort_category = "misc"
+ cost = 1
+
/datum/gear/zippo
display_name = "zippo"
path = /obj/item/weapon/flame/lighter/zippo
diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi
index 6631ebe296d..bd6bdba6635 100644
Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ