diff --git a/Mage/src/mage/game/GameImpl.java b/Mage/src/mage/game/GameImpl.java index 2de86fab79c..07876859bad 100644 --- a/Mage/src/mage/game/GameImpl.java +++ b/Mage/src/mage/game/GameImpl.java @@ -1645,6 +1645,10 @@ public abstract class GameImpl> implements Game, Serializa attachedTo.removeAttachment(perm.getId(), this); } } + // check if it's a creature and must be removed from combat + if (perm.getCardType().contains(CardType.CREATURE) && this.getCombat() != null) { + this.getCombat().removeFromCombat(perm.getId(), this); + } it.remove(); } } diff --git a/Mage/src/mage/game/combat/CombatGroup.java b/Mage/src/mage/game/combat/CombatGroup.java index 5acb5f60cd6..658fa14baee 100644 --- a/Mage/src/mage/game/combat/CombatGroup.java +++ b/Mage/src/mage/game/combat/CombatGroup.java @@ -73,12 +73,14 @@ public class CombatGroup implements Serializable, Copyable { public boolean hasFirstOrDoubleStrike(Game game) { for (UUID permId: attackers) { - if (hasFirstOrDoubleStrike(game.getPermanent(permId))) { + Permanent attacker = game.getPermanent(permId); + if (attacker != null && hasFirstOrDoubleStrike(attacker)) { return true; } } for (UUID permId: blockers) { - if (hasFirstOrDoubleStrike(game.getPermanent(permId))) { + Permanent blocker = game.getPermanent(permId); + if (blocker != null && hasFirstOrDoubleStrike(blocker)) { return true; } }