diff --git a/game/modules/tome/data/general/objects/egos/staves.lua b/game/modules/tome/data/general/objects/egos/staves.lua
index 1cba138bba8911e5ca9bbd9538225840e13a964b..228b889b73078d9f6fbfbd2c3dfdd58f1d3408ff 100644
--- a/game/modules/tome/data/general/objects/egos/staves.lua
+++ b/game/modules/tome/data/general/objects/egos/staves.lua
@@ -348,7 +348,9 @@ newEntity{
 		function(self, who)
 			local tg = {type="ball", range=0, radius=self.material_level + 1, selffire=false}
 			local weapon = who:hasStaffWeapon()
+			if not weapon then return end
 			local combat = weapon.combat
+			if not combat then return end
 
 			local DamageType = require "engine.DamageType"
 			local damtype = combat.damtype