diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index 760fbeb804e42ccb499b1870bb1054dc6c41d01a..1cd0b614e9b9629915e5110dce2e98ed28bb914c 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -2023,6 +2023,8 @@ end
 function _M:onWear(o, bypass_set)
 	o.wielded = {}
 
+	o:forAllStack(function(so) so.__transmo = false end)
+
 	if o.set_list and not bypass_set then
 		local list = {}
 		for i, d in ipairs(o.set_list) do