diff --git a/game/modules/tome/data/zones/ruined-dungeon/grids.lua b/game/modules/tome/data/zones/ruined-dungeon/grids.lua
index d706fb1eb763554e84c84292cba27690af4b7f5b..bdb6c3c73d1c50dcd4c53ca58bd7e56f961124ee 100644
--- a/game/modules/tome/data/zones/ruined-dungeon/grids.lua
+++ b/game/modules/tome/data/zones/ruined-dungeon/grids.lua
@@ -109,7 +109,7 @@ newEntity{
 
 		elseif self.portal_type == "darkness" then text = "The orb seems to absorb all light."
 		elseif self.portal_type == "blood" then text = "The orb is drips with thick blood."
-		elseif self.portal_type == "grave" then text = "The orb smells like a rotten corpse."
+		elseif self.portal_type == "ice" then text = "The orb is icy to the touch."
 		elseif self.portal_type == "time" then text = "Time seems to slow down around the orb."
 		elseif self.portal_type == "mind" then text = "Your mind is filled with strange thoughts as you approach the orb."
 		elseif self.portal_type == "blight" then text = "The orb seems to corrupt all it touches."
diff --git a/game/modules/tome/data/zones/ruined-dungeon/zone.lua b/game/modules/tome/data/zones/ruined-dungeon/zone.lua
index d1071e9d32f14b2256131dea23e6d82aac91a48c..62be5e7e34e7e3ffc8d81529a0c0a5a3e3e9ade5 100644
--- a/game/modules/tome/data/zones/ruined-dungeon/zone.lua
+++ b/game/modules/tome/data/zones/ruined-dungeon/zone.lua
@@ -60,7 +60,7 @@ return {
 		-- Randomly assign portal types
 		local types = ({
 			DEFAULT = {"wind", "earth", "fire", "water", "arcane", "nature"},
-			ALT1    = {"darkness", "blood", "grave", "time", "mind", "blight"},
+			ALT1    = {"darkness", "blood", "time", "ice", "mind", "blight"},
 		})[game.zone.clues_layout]
 		local _, portals = level:pickSpot{type="portal", subtype="portal"}
 		for i, spot in ipairs(portals) do
@@ -89,7 +89,7 @@ return {
 		for i, spot in ipairs(guardians) do
 			while true do
 				local m = game.zone:makeEntity(level, "actor", guardian_filter, nil, true)
-				if m then
+				if m and not m.can_pass.pass_wall then
 					game.zone:addEntity(level, m, "actor", spot.x, spot.y)
 					break
 				end
@@ -102,7 +102,7 @@ return {
 		local Dialog = require("engine.ui.Dialog")
 		local order = ({
 			DEFAULT = {"water", "earth", "wind", "nature", "arcane", "fire"},
-			ALT1    = {"darkness", "blood", "grave", "time", "mind", "blight"},
+			ALT1    = {"darkness", "blood", "time", "ice", "mind", "blight"},
 		})[game.zone.clues_layout]
 		local o = game.level.orbs_touched
 		o[#o+1] = type