diff --git a/game/modules/tome/data/zones/dreams/zone.lua b/game/modules/tome/data/zones/dreams/zone.lua
index 7f4db0495a3316613cb6a3174bfa05ec8af90b4a..1fb172ce9a2faa86eef3f99e37885713037106e3 100644
--- a/game/modules/tome/data/zones/dreams/zone.lua
+++ b/game/modules/tome/data/zones/dreams/zone.lua
@@ -309,11 +309,13 @@ You feel good!]],
 				end
 			end
 			game.party:setPlayer(game:getPlayer(true))
+			if self.success then
+				world:gainAchievement("ALL_DREAMS", self.summoner, dream)
+			end
 			if self.success and danger then
 				require("engine.ui.Dialog"):simpleLongPopup("Deep slumber...", msg, 600)
 				game.logPlayer(game.player, msg:gsub("\n", " "))
 				game.player:setEffect(game.player.EFF_VICTORY_RUSH_ZIGUR, 4, {})
-				world:gainAchievement("ALL_DREAMS", self.summoner, dream)
 			elseif danger then
 				local msg = [[As you die in a dream you suddenly wake up.
 Posionous fumes take their toll on your body!]]