diff --git a/game/modules/tome/data/timed_effects/magical.lua b/game/modules/tome/data/timed_effects/magical.lua
index e8573f5c2c22496eae4b09f976678d274cf8481b..987c6b2812c5627eb1c58b46ba2321038989e434 100644
--- a/game/modules/tome/data/timed_effects/magical.lua
+++ b/game/modules/tome/data/timed_effects/magical.lua
@@ -2875,7 +2875,10 @@ newEffect{
 	on_lose = function(self, err) return nil, "-Healing Inversion" end,
 	callbackOnHeal = function(self, eff, value, src)
 		local dam = value * eff.power / 100
-		DamageType:get(DamageType.BLIGHT).projector(eff.src or self, self.x, self.y, DamageType.BLIGHT, dam)
+		if not eff.projecting then -- avoid feedback; it's bad to lose out on dmg but it's worse to break the game
+			eff.projecting = true
+			DamageType:get(DamageType.BLIGHT).projector(eff.src or self, self.x, self.y, DamageType.BLIGHT, dam)
+		end
 		return {value=0}
 	end,
 	activate = function(self, eff)