diff --git a/game/modules/tome/data/talents/gifts/gifts.lua b/game/modules/tome/data/talents/gifts/gifts.lua
index 4556ac8472773a1edc28c50984fa70145fb01f9f..cc2f069ae1befc1699f39213d897a95686a15c17 100644
--- a/game/modules/tome/data/talents/gifts/gifts.lua
+++ b/game/modules/tome/data/talents/gifts/gifts.lua
@@ -95,11 +95,11 @@ function checkMaxSummon(self, silent, div, check_attr)
 	-- Count party members
 	if game.party:hasMember(self) then
 		for act, def in pairs(game.party.members) do
-			if act.summoner and act.summoner == self and act.wild_gift_summon and (not check_attr or act:attr(check_attr)) then nb = nb + 1 end
+			if act.summoner and act.summoner == self and act.wild_gift_summon and not act.wild_gift_summon_ignore_cap and (not check_attr or act:attr(check_attr)) then nb = nb + 1 end
 		end
 	elseif game.level then
 		for _, act in pairs(game.level.entities) do
-			if act.summoner and act.summoner == self and act.wild_gift_summon and (not check_attr or act:attr(check_attr)) then nb = nb + 1 end
+			if act.summoner and act.summoner == self and act.wild_gift_summon and not act.wild_gift_summon_ignore_cap and (not check_attr or act:attr(check_attr)) then nb = nb + 1 end
 		end
 	end
 
diff --git a/game/modules/tome/data/talents/gifts/summon-distance.lua b/game/modules/tome/data/talents/gifts/summon-distance.lua
index 17a0faec218a777bbf8f7654f6a69539a477c3da..c4e4fa6fd52d011cf58d49bdc1f84cced41d7e25 100644
--- a/game/modules/tome/data/talents/gifts/summon-distance.lua
+++ b/game/modules/tome/data/talents/gifts/summon-distance.lua
@@ -577,7 +577,7 @@ newTalent{
 
 				resists = { [DamageType.FIRE] = 100, },
 
-				summoner = self, summoner_gain_exp=true, wild_gift_summon=true,
+				summoner = self, summoner_gain_exp=true, wild_gift_summon=true, wild_gift_summon_ignore_cap=true,
 				summon_time = m.summon_time,
 				ai_target = {actor=m.ai_target.actor}
 			}