diff --git a/dist/game/data/scripts/handlers/targethandlers/EnemySummon.java b/dist/game/data/scripts/handlers/targethandlers/EnemySummon.java
index 28e25f809a23ccb7f12568dc626b1dcf15348ff2..12bade38c0374a3cbcf87bae069d265205974a00 100644
--- a/dist/game/data/scripts/handlers/targethandlers/EnemySummon.java
+++ b/dist/game/data/scripts/handlers/targethandlers/EnemySummon.java
@@ -27,6 +27,7 @@ import com.l2jserver.gameserver.model.skills.targets.L2TargetType;
 import com.l2jserver.gameserver.model.zone.ZoneId;
 
 /**
+ * Enemy Summon target handler implementation.
  * @author UnAfraid
  */
 public class EnemySummon implements ITargetTypeHandler
@@ -34,10 +35,13 @@ public class EnemySummon implements ITargetTypeHandler
 	@Override
 	public L2Object[] getTargetList(Skill skill, L2Character activeChar, boolean onlyFirst, L2Character target)
 	{
-		if (target.isSummon())
+		if ((target != null) && target.isSummon())
 		{
-			L2Summon targetSummon = (L2Summon) target;
-			if ((activeChar.isPlayer() && (activeChar.getSummon() != targetSummon) && !targetSummon.isDead() && ((targetSummon.getOwner().getPvpFlag() != 0) || (targetSummon.getOwner().getKarma() > 0))) || (targetSummon.getOwner().isInsideZone(ZoneId.PVP) && activeChar.getActingPlayer().isInsideZone(ZoneId.PVP)) || (targetSummon.getOwner().isInDuel() && activeChar.getActingPlayer().isInDuel() && (targetSummon.getOwner().getDuelId() == activeChar.getActingPlayer().getDuelId())))
+			final L2Summon targetSummon = (L2Summon) target;
+			if ((activeChar.isPlayer() && (activeChar.getSummon() != targetSummon) && //
+				!targetSummon.isDead() && ((targetSummon.getOwner().getPvpFlag() != 0) || (targetSummon.getOwner().getKarma() > 0))) || //
+				(targetSummon.getOwner().isInsideZone(ZoneId.PVP) && activeChar.getActingPlayer().isInsideZone(ZoneId.PVP)) || //
+				(targetSummon.getOwner().isInDuel() && activeChar.getActingPlayer().isInDuel() && (targetSummon.getOwner().getDuelId() == activeChar.getActingPlayer().getDuelId())))
 			{
 				return new L2Character[]
 				{