diff --git a/game/modules/tome/data/talents/spells/staff-combat.lua b/game/modules/tome/data/talents/spells/staff-combat.lua
index b9ef62e6f3079790aa2809bcdc1d1a341b03009e..55099fa278f4e3ccced4d31a8a95da04f2593da7 100644
--- a/game/modules/tome/data/talents/spells/staff-combat.lua
+++ b/game/modules/tome/data/talents/spells/staff-combat.lua
@@ -44,7 +44,7 @@ newTalent{
 					local dist = core.fov.distance(typ.source_actor.x, typ.source_actor.y, lx, ly)
 					if math.floor(dist - typ.range + 0.5) > 0 then block_from_range = true end
 				end
-				if a then return block_from_range or self:reactionToward(a) < 0, hit, hit_radius
+				if a then return block_from_range or (self and self:reactionToward(a) < 0), hit, hit_radius
 				else return block, hit, hit_radius end
 			end,
 		}