diff --git a/game/engines/default/engine/interface/ActorProject.lua b/game/engines/default/engine/interface/ActorProject.lua
index f9543ffe316a337403180e08ab51ac50170a402a..7df788286aba9df175ef190cedf1fda32677c73b 100644
--- a/game/engines/default/engine/interface/ActorProject.lua
+++ b/game/engines/default/engine/interface/ActorProject.lua
@@ -203,7 +203,7 @@ function _M:projectDoMove(typ, tgtx, tgty, x, y, srcx, srcy)
 		if lx < 0 or lx >= game.level.map.w or ly < 0 or ly >= game.level.map.h then return lx, ly, false, true end
 
 		-- Deam damage: beam
-		if typ.line then return lx, ly, true, false end
+		if typ.line and (lx ~= tgtx or ly ~= tgty) then return lx, ly, true, false end
 	end
 	-- Ok if we are at the end
 	if (not lx and not ly) then return lx, ly, false, true end