diff --git a/game/modules/tome/data/talents/misc/inscriptions.lua b/game/modules/tome/data/talents/misc/inscriptions.lua
index 4340e55301a0aa942f7215606fd703508aa7e430..a1b5ac78faf9df626c9375a35e5b19adaa058e67 100644
--- a/game/modules/tome/data/talents/misc/inscriptions.lua
+++ b/game/modules/tome/data/talents/misc/inscriptions.lua
@@ -639,7 +639,7 @@ newInscription{
 	is_spell = true,
 	tactical = { MANA = 1 },
 	on_pre_use = function(self, t)
-		return self:knowTalent(self.T_MANA_POOL)
+		return self:knowTalent(self.T_MANA_POOL) and not self:hasEffect(self.EFF_MANASURGE)
 	end,
 	action = function(self, t)
 		local data = self:getInscriptionData(t.short_name)
diff --git a/game/modules/tome/data/talents/spells/arcane.lua b/game/modules/tome/data/talents/spells/arcane.lua
index e38fa97b36cd391428600f079039f880775f50e3..4eaec45237ef07f68c8e8d842feaff8efc6bc0ca 100644
--- a/game/modules/tome/data/talents/spells/arcane.lua
+++ b/game/modules/tome/data/talents/spells/arcane.lua
@@ -97,16 +97,14 @@ newTalent{
 	type = {"spell/arcane", 3},
 	require = spells_req3,
 	points = 5,
-	random_ego = "utility",
 	mana = 0,
-	cooldown = 40,
+	cooldown = 25,
 	tactical = { MANA = 3 },
-	getManaRestoration = function(self, t) return self:combatTalentSpellDamage(t, 10, 20) end,
+	getManaRestoration = function(self, t) return 5 + self:combatTalentSpellDamage(t, 10, 20) end,
+	on_pre_use = function(self, t) return not self:hasEffect(self.EFF_MANASURGE) end,
 	action = function(self, t)
-		if not self:hasEffect(self.EFF_MANAFLOW) then
-			self:setEffect(self.EFF_MANAFLOW, 10, {power=t.getManaRestoration(self, t)})
-			game:playSoundNear(self, "talents/arcane")
-		end
+		self:setEffect(self.EFF_MANASURGE, 10, {power=t.getManaRestoration(self, t)})
+		game:playSoundNear(self, "talents/arcane")
 		return true
 	end,
 	info = function(self, t)
diff --git a/game/modules/tome/data/timed_effects.lua b/game/modules/tome/data/timed_effects.lua
index 19ea614da40975360a7fc13fbae7c9fa4036fafa..c2718cea6f6d5d895c9052f2e7658283e8a9c682 100644
--- a/game/modules/tome/data/timed_effects.lua
+++ b/game/modules/tome/data/timed_effects.lua
@@ -109,35 +109,6 @@ newEffect{
 	end,
 }
 
-newEffect{
-	name = "MANAFLOW",
-	desc = "Manaflow",
-	long_desc = function(self, eff) return ("The mana surge engulfs the target, regenerating %0.2f mana per turn."):format(eff.power) end,
-	type = "magical",
-	status = "beneficial",
-	parameters = { power=10 },
-	on_gain = function(self, err) return "#Target# starts to surge mana.", "+Manaflow" end,
-	on_lose = function(self, err) return "#Target# stops surging mana.", "-Manaflow" end,
-	on_merge = function(self, old_eff, new_eff)
-		-- Merge the mana
-		local olddam = old_eff.power * old_eff.dur
-		local newdam = new_eff.power * new_eff.dur
-		local dur = math.ceil((old_eff.dur + new_eff.dur) / 2)
-		old_eff.dur = dur
-		old_eff.power = (olddam + newdam) / dur
-
-		self:removeTemporaryValue("mana_regen", old_eff.tmpid)
-		old_eff.tmpid = self:addTemporaryValue("mana_regen", old_eff.power)
-		return old_eff
-	end,
-	activate = function(self, eff)
-		eff.tmpid = self:addTemporaryValue("mana_regen", eff.power)
-	end,
-	deactivate = function(self, eff)
-		self:removeTemporaryValue("mana_regen", eff.tmpid)
-	end,
-}
-
 newEffect{
 	name = "MANASURGE",
 	desc = "Surging mana",
@@ -4111,4 +4082,3 @@ newEffect{
 		DamageType:get(DamageType.ARCANE).projector(eff.src, self.x, self.y, DamageType.ARCANE, dam)
 	end,
 }
-