diff --git a/game/modules/tome/data/chats/eidolon-plane.lua b/game/modules/tome/data/chats/eidolon-plane.lua
index 4bc5d5977a9d928b75b80bcb17285c51d9d12d79..5cd781803539286365d7cf70271d9429a3c14e3d 100644
--- a/game/modules/tome/data/chats/eidolon-plane.lua
+++ b/game/modules/tome/data/chats/eidolon-plane.lua
@@ -26,7 +26,8 @@ But do not abuse my help. I am not your servant, and someday I might just let yo
 As for your probable many questions, they will stay unanswered. I may help, but I am not here to explain why.]],
 	answers = {
 		{"Thank you. I will rest for a while."},
-		{"Thank you. I am ready to go back!", action=function() game.level.data.eidolon_exit() end},
+		{"Thank you. I am ready to go back!", action=function() game.level.data.eidolon_exit(false) end},
+		{"Thank you, but I fear I will not survive anyway, can you send me back somewhere else please?", action=function() game.level.data.eidolon_exit(true) end},
 	}
 }
 
diff --git a/game/modules/tome/data/zones/eidolon-plane/zone.lua b/game/modules/tome/data/zones/eidolon-plane/zone.lua
index b810f1d88847738322c737b14ed1a654c5d3d294..af16cf665d01d531f932f6926318d9035e0cc9c6 100644
--- a/game/modules/tome/data/zones/eidolon-plane/zone.lua
+++ b/game/modules/tome/data/zones/eidolon-plane/zone.lua
@@ -75,7 +75,7 @@ return {
 		who:addObject(who.INVEN_INVEN, o)
 	end,
 
-	eidolon_exit = function()
+	eidolon_exit = function(to_worldmap)
 		game:onTickEnd(function()
 			local oldzone = game.zone
 			local oldlevel = game.level
@@ -119,6 +119,10 @@ return {
 				act.last_act_turn = math.floor(game.turn / (game.zone.wilderness and 1000 or 10))
 			end
 
+			if to_worldmap then
+				game:changeLevel(1, game.player.last_wilderness or "wilderness")
+			end
+
 			game.logPlayer(game.player, "#LIGHT_RED#You are sent back to the material plane!")
 			game.player:updateMainShader()
 		end)