diff --git a/game/modules/tome/data/timed_effects/magical.lua b/game/modules/tome/data/timed_effects/magical.lua
index 787cc42cdb8fad7cea708f7b331b1fcfc486fb6b..1a01cd9ace8054da65f4a5600afca5424dc178f0 100644
--- a/game/modules/tome/data/timed_effects/magical.lua
+++ b/game/modules/tome/data/timed_effects/magical.lua
@@ -762,7 +762,7 @@ newEffect{
 			return
 		end
 
-		if self:canBe("worldport") and not self:attr("never_move") then
+		if self:canBe("worldport") and not self:attr("never_move") and eff.dur <= 0 then
 			game:onTickEnd(function()
 				if eff.leveid == game.zone.short_name.."-"..game.level.level and game.player.can_change_zone then
 					game.logPlayer(self, "You are yanked out of this place!")