diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/PetFood.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/PetFood.java
index 9ed95302b270fe0ae7ae60f8e596df93aeb4ee68..166d8fdacadd8cf07e343c9015e388c2309f8283 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/PetFood.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/PetFood.java
@@ -38,6 +38,12 @@ public class PetFood implements IItemHandler
 	@Override
 	public boolean useItem(L2Playable playable, L2ItemInstance item, boolean forceUse)
 	{
+		if (playable.isPet() && !((L2PetInstance) playable).canEatFoodId(item.getItemId()))
+		{
+			playable.sendPacket(SystemMessageId.PET_CANNOT_USE_ITEM);
+			return false;
+		}
+		
 		final SkillHolder[] skills = item.getItem().getSkills();
 		if (skills != null)
 		{
@@ -51,20 +57,20 @@ public class PetFood implements IItemHandler
 	
 	public boolean useFood(L2Playable activeChar, int skillId, int skillLevel, L2ItemInstance item)
 	{
-		L2Skill skill = SkillTable.getInstance().getInfo(skillId, skillLevel);
+		final L2Skill skill = SkillTable.getInstance().getInfo(skillId, skillLevel);
 		if (skill != null)
 		{
 			if (activeChar.isPet())
 			{
-				L2PetInstance pet = (L2PetInstance) activeChar;
+				final L2PetInstance pet = (L2PetInstance) activeChar;
 				if (pet.destroyItem("Consume", item.getObjectId(), 1, null, false))
 				{
 					pet.broadcastPacket(new MagicSkillUse(pet, pet, skillId, skillLevel, 0, 0));
-					pet.setCurrentFed(((L2PetInstance) activeChar).getCurrentFed() + (skill.getFeed() * Config.PET_FOOD_RATE));
+					pet.setCurrentFed(pet.getCurrentFed() + (skill.getFeed() * Config.PET_FOOD_RATE));
 					pet.broadcastStatusUpdate();
 					if (pet.getCurrentFed() < ((pet.getPetData().getHungryLimit() / 100f) * pet.getPetLevelData().getPetMaxFeed()))
 					{
-						activeChar.sendPacket(SystemMessageId.YOUR_PET_ATE_A_LITTLE_BUT_IS_STILL_HUNGRY);
+						pet.sendPacket(SystemMessageId.YOUR_PET_ATE_A_LITTLE_BUT_IS_STILL_HUNGRY);
 					}
 					return true;
 				}
@@ -74,25 +80,20 @@ public class PetFood implements IItemHandler
 				final L2PcInstance player = activeChar.getActingPlayer();
 				if (player.isMounted())
 				{
-					List<Integer> foodIds = PetDataTable.getInstance().getPetData(player.getMountNpcId()).getFood();
+					final List<Integer> foodIds = PetDataTable.getInstance().getPetData(player.getMountNpcId()).getFood();
 					if (foodIds.contains(Integer.valueOf(item.getItemId())))
 					{
 						if (player.destroyItem("Consume", item.getObjectId(), 1, null, false))
 						{
-							player.broadcastPacket(new MagicSkillUse(activeChar, activeChar, skillId, skillLevel, 0, 0));
+							player.broadcastPacket(new MagicSkillUse(player, player, skillId, skillLevel, 0, 0));
 							player.setCurrentFeed(player.getCurrentFeed() + skill.getFeed());
+							return true;
 						}
-						return true;
 					}
-					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
-					sm.addItemName(item);
-					activeChar.sendPacket(sm);
-					return false;
 				}
-				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
+				final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
 				sm.addItemName(item);
-				activeChar.sendPacket(sm);
-				return false;
+				player.sendPacket(sm);
 			}
 		}
 		return false;