diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/TransferHate.java b/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/TransferHate.java
index 0b6b60473616cf4c30154dde7abbc678b096ac7f..fac4aabe122a5d8009b6598bafbb67344e992c8c 100644
--- a/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/TransferHate.java
+++ b/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/TransferHate.java
@@ -48,12 +48,6 @@ public final class TransferHate extends AbstractEffect
 		return Formulas.calcProbability(_chance, info.getEffector(), info.getEffected(), info.getSkill());
 	}
 	
-	@Override
-	public boolean canStart(BuffInfo info)
-	{
-		return Util.checkIfInRange(info.getSkill().getEffectRange(), info.getEffector(), info.getEffected(), true);
-	}
-	
 	@Override
 	public boolean isInstant()
 	{
@@ -63,6 +57,11 @@ public final class TransferHate extends AbstractEffect
 	@Override
 	public void onStart(BuffInfo info)
 	{
+		if (!Util.checkIfInRange(info.getSkill().getEffectRange(), info.getEffector(), info.getEffected(), true))
+		{
+			return;
+		}
+		
 		for (L2Character obj : info.getEffector().getKnownList().getKnownCharactersInRadius(info.getSkill().getAffectRange()))
 		{
 			if ((obj == null) || !obj.isAttackable() || obj.isDead())
diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/Unsummon.java b/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/Unsummon.java
index 67a220127042c62a3a9328bb5b08cd02631402eb..5cec234a03e39534122e628c24d60693d489fad1 100644
--- a/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/Unsummon.java
+++ b/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/Unsummon.java
@@ -55,16 +55,9 @@ public final class Unsummon extends AbstractEffect
 				return true;
 			}
 		}
-		
 		return false;
 	}
 	
-	@Override
-	public boolean canStart(BuffInfo info)
-	{
-		return info.getEffected().isSummon();
-	}
-	
 	@Override
 	public boolean isInstant()
 	{
@@ -75,7 +68,6 @@ public final class Unsummon extends AbstractEffect
 	public void onStart(BuffInfo info)
 	{
 		final L2Summon summon = info.getEffected().getSummon();
-		
 		if (summon != null)
 		{
 			final L2PcInstance summonOwner = summon.getOwner();
diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/VitalityPointUp.java b/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/VitalityPointUp.java
index b0fee2326651328d903261ae2a07a22c3f0f728b..7ea317f24d539dac5a58c138852783d03163d0b5 100644
--- a/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/VitalityPointUp.java
+++ b/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/VitalityPointUp.java
@@ -39,12 +39,6 @@ public final class VitalityPointUp extends AbstractEffect
 		_value = params.getFloat("value", 0);
 	}
 	
-	@Override
-	public boolean canStart(BuffInfo info)
-	{
-		return (info.getEffected() != null) && info.getEffected().isPlayer();
-	}
-	
 	@Override
 	public boolean isInstant()
 	{
@@ -54,7 +48,10 @@ public final class VitalityPointUp extends AbstractEffect
 	@Override
 	public void onStart(BuffInfo info)
 	{
-		info.getEffected().getActingPlayer().updateVitalityPoints(_value, false, false);
-		info.getEffected().getActingPlayer().sendPacket(new UserInfo(info.getEffected().getActingPlayer()));
+		if ((info.getEffected() != null) && info.getEffected().isPlayer())
+		{
+			info.getEffected().getActingPlayer().updateVitalityPoints(_value, false, false);
+			info.getEffected().getActingPlayer().sendPacket(new UserInfo(info.getEffected().getActingPlayer()));
+		}
 	}
 }