diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index 7ba7a1bbbcc2e62216ca0a8a7510512eaffc1681..4dea45247cb8952f7bda01612c92fd6c300f0f37 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -2597,8 +2597,6 @@ function _M:onTakeHit(value, src, death_note)
 		end
 	end
 
-	if self.on_takehit then value = self:check("on_takehit", value, src, death_note) end
-
 	-- Apply Solipsism hit
 	if damage_to_psi > 0 then
 		local t = self:getTalentFromId(self.T_SOLIPSISM)
@@ -2776,6 +2774,8 @@ function _M:onTakeHit(value, src, death_note)
 		end
 	end
 
+	if self.on_takehit then value = self:check("on_takehit", value, src, death_note) end
+
 	local cb = {value=value}
 	if self:fireTalentCheck("callbackOnHit", cb, src, death_note) then
 		value = cb.value