diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm
index 5a3488225e..ad943ff9fc 100644
--- a/code/game/objects/structures/signs/_signs.dm
+++ b/code/game/objects/structures/signs/_signs.dm
@@ -39,6 +39,7 @@
var/obj/item/sign_backing/SB = new (get_turf(user))
SB.icon_state = icon_state
SB.sign_path = type
+ SB.setDir(dir)
qdel(src)
return
else if(istype(I, /obj/item/pen) && buildable_sign)
@@ -107,11 +108,22 @@
user.visible_message("[user] fastens [src] to [T].", \
"You attach the sign to [T].")
playsound(T, 'sound/items/deconstruct.ogg', 50, 1)
- new sign_path(T)
+ var/obj/structure/sign/S = new sign_path(T)
+ S.setDir(dir)
qdel(src)
else
return ..()
+/obj/item/sign_backing/Move(atom/new_loc, direct = 0)
+ // pulling, throwing, or conveying a sign backing does not rotate it
+ var/old_dir = dir
+ . = ..()
+ setDir(old_dir)
+
+/obj/item/sign_backing/attack_self(mob/user)
+ . = ..()
+ setDir(turn(dir, 90))
+
/obj/structure/sign/nanotrasen
name = "\improper Nanotrasen Logo"
desc = "A sign with the Nanotrasen Logo on it. Glory to Nanotrasen!"