diff --git a/lib/HeroBonus.cpp b/lib/HeroBonus.cpp index 50eaf021f..7218e23ae 100644 --- a/lib/HeroBonus.cpp +++ b/lib/HeroBonus.cpp @@ -957,7 +957,10 @@ void CBonusSystemNode::getAllBonusesRec(BonusList &out) const auto updated = b->updater ? getUpdatedBonus(b, b->updater) : b; - out.push_back(updated); + + //do not add bonus with same pointer + if(!vstd::contains(out, updated)) + out.push_back(updated); } }