diff --git a/game/modules/tome/data/talents/psionic/nightmare.lua b/game/modules/tome/data/talents/psionic/nightmare.lua
index e2d2b725fea5eec92d1f23269ea74da16d69f5b4..a5d5be624296fa4c4590b86236a005c68f85a262 100644
--- a/game/modules/tome/data/talents/psionic/nightmare.lua
+++ b/game/modules/tome/data/talents/psionic/nightmare.lua
@@ -103,7 +103,7 @@ newTalent{
 		if crit then tl = self:mindCrit(tl) end
 		return self:combatLimit(tl, 100, 0, 0, 21, 21) -- Limit < 100%
 	end,
-	getDuration = function(self, t) return math.floor(self:combatTalentScale(t, 4, 12)) end,
+	getDuration = function(self, t) return self:combatTalentLimit(t, 15, 2, 12) end,
 	summon_inner_demons = function(self, target, t)
 		-- Find space
 		local x, y = util.findFreeGrid(target.x, target.y, 1, true, {[Map.ACTOR]=true})
@@ -167,10 +167,8 @@ newTalent{
 			return nil
 		end
 		
-		-- "INNER_DEMONS" effect in data\time_effects\mental.lua calculates sleeping target effect		
-		local chance = t.getChance(self, t, true)
-
-		local chance = self:mindCrit(t.getChance(self, t))
+		-- "INNER_DEMONS" effect in data\time_effects\mental.lua calculates sleeping target effect
+		local chance = t.getChance(self, t, false)
 		if target:canBe("fear") or target:attr("sleep") then
 			target:setEffect(target.EFF_INNER_DEMONS, t.getDuration(self, t), {src = self, chance=chance, apply_power=self:combatMindpower()})
 		else
@@ -185,7 +183,8 @@ newTalent{
 		local chance = t.getChance(self, t)
 		return ([[Brings the target's inner demons to the surface.  Each turn, for %d turns, there's a %d%% chance that a demon will surface, requiring the target to make a Mental Save to keep it from manifesting.
 		If the target is sleeping, the chance to save will be halved, and fear immunity will be ignored.  Otherwise, if the summoning is resisted, the effect will end early.
-		The summon chance will scale with your Mindpower and the demon's life will scale with the target's rank.]]):format(duration, chance)
+		The summon chance will scale with your Mindpower and the demon's life will scale with the target's rank.
+		If a demon manifests the sheer terror will remove all sleep effects from the victim, but not the Inner Demons.]]):format(duration, chance)
 	end,
 }
 
diff --git a/game/modules/tome/data/timed_effects/mental.lua b/game/modules/tome/data/timed_effects/mental.lua
index f97b6ecf13a7261b48df623ac9839c087a9866a6..2ea9bcefb391268d1516b88762388f5ae3a6d68c 100644
--- a/game/modules/tome/data/timed_effects/mental.lua
+++ b/game/modules/tome/data/timed_effects/mental.lua
@@ -1601,6 +1601,7 @@ newEffect{
 		if rng.percent(chance) then
 			if self:attr("sleep") or self:checkHit(eff.src:combatMindpower(), self:combatMentalResist(), 0, 95, 5) then
 				t.summon_inner_demons(eff.src, self, t)
+				self:removeEffectsFilter({subtype={["sleep"] = true}}, 3) -- Allow the player to actually react to one of the biggest threats in the game before 50 more spawn
 			else
 				eff.dur = 0
 			end