diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua
index 4fd450625ebf65f4e764fe17b0007e3a7bd221da..f8a3008adfb23ce91c9d909bf73d3c289f616ef9 100644
--- a/game/modules/tome/class/Player.lua
+++ b/game/modules/tome/class/Player.lua
@@ -947,7 +947,13 @@ function _M:useOrbPortal(portal)
 		end
 		game:changeLevel(portal.change_level, portal.change_zone)
 
-		if portal.after_zone_teleport then self:move(portal.after_zone_teleport.x, portal.after_zone_teleport.y, true) end
+		if portal.after_zone_teleport then
+			self:move(portal.after_zone_teleport.x, portal.after_zone_teleport.y, true)
+			for e, _ in pairs(game.party.members) do if e ~= self then
+				local x, y = util.findFreeGrid(portal.after_zone_teleport.x, portal.after_zone_teleport.y, 10, true, {[Map.ACTOR]=true})
+				if x then e:move(x, y, true) end
+			end end
+		end
 	end
 
 	if portal.message then game.logPlayer(self, portal.message) end