diff --git a/game/modules/tome/data/zones/tol-falas/zone.lua b/game/modules/tome/data/zones/tol-falas/zone.lua
index 53c2ff9d0f586255321e73c52e89e3bfc1a086ef..93e746ce6ee4ba66c8a7d64d25f4e116ed49235f 100644
--- a/game/modules/tome/data/zones/tol-falas/zone.lua
+++ b/game/modules/tome/data/zones/tol-falas/zone.lua
@@ -70,7 +70,7 @@ return {
 	on_leave = function(lev, old_lev, newzone)
 		if not newzone then return end
 		-- Ambushed!
-		if game.player:isQuestStatus("staff-absorption", engine.Quest.PENDING) then
+		if game.player:isQuestStatus("staff-absorption", engine.Quest.PENDING) and not game.player:isQuestStatus("staff-absorption", engine.Quest.COMPLETED, "ambush") then
 			return 1, "tol-falas-ambush"
 		end
 	end,