diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index d5d9538c6e..e6c2099494 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -140,6 +140,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \
new/datum/stack_recipe("coffin", /obj/structure/closet/coffin, 5, time = 15, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("book case", /obj/structure/bookcase, 4, time = 15, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("drying rack", /obj/machinery/smartfridge/drying_rack, 10, time = 15, one_per_turf = 1, on_floor = 1), \
+ new/datum/stack_recipe("dresser", /obj/structure/dresser, 10, time = 15, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("dog bed", /obj/structure/bed/dogbed, 10, time = 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("picture frame", /obj/item/wallframe/picture, 1, time = 10),\
new/datum/stack_recipe("display case chassis", /obj/structure/displaycase_chassis, 5, one_per_turf = 1, on_floor = 1), \
diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm
index 3990533562..2316715735 100644
--- a/code/game/objects/structures/dresser.dm
+++ b/code/game/objects/structures/dresser.dm
@@ -6,6 +6,18 @@
density = 1
anchored = 1
+/obj/structure/dresser/attackby(obj/item/P, mob/user, params)
+ if(istype(P, /obj/item/weapon/wrench))
+ to_chat(user, "You begin to [anchored ? "unwrench" : "wrench"] [src].")
+ playsound(src, P.usesound, 50, 1)
+ if(do_after(user, 20, target = src))
+ to_chat(user, "You successfully [anchored ? "unwrench" : "wrench"] [src].")
+ anchored = !anchored
+
+/obj/structure/dresser/deconstruct(disassembled = TRUE)
+ new /obj/item/stack/sheet/mineral/wood (get_turf(src), 10)
+ qdel(src)
+
/obj/structure/dresser/attack_hand(mob/user)
if(!Adjacent(user))//no tele-grooming
return