diff --git a/forge-game/src/main/java/forge/game/card/CardUtil.java b/forge-game/src/main/java/forge/game/card/CardUtil.java index d3173a2ad1b..20a5a5fe6a5 100644 --- a/forge-game/src/main/java/forge/game/card/CardUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardUtil.java @@ -293,7 +293,12 @@ public final class CardUtil { newCopy.addOptionalCostPaid(ocost); } - newCopy.setCastSA(in.getCastSA()); + if (in.getCastSA() != null) { + SpellAbility castSA = in.getCastSA().copy(newCopy, true); + castSA.setLastStateBattlefield(CardCollection.EMPTY); + castSA.setLastStateGraveyard(CardCollection.EMPTY); + newCopy.setCastSA(castSA); + } newCopy.setCastFrom(in.getCastFrom()); newCopy.setExiledWith(in.getExiledWith()); diff --git a/forge-game/src/main/java/forge/game/zone/MagicStack.java b/forge-game/src/main/java/forge/game/zone/MagicStack.java index c5847d757c3..283bab09768 100644 --- a/forge-game/src/main/java/forge/game/zone/MagicStack.java +++ b/forge-game/src/main/java/forge/game/zone/MagicStack.java @@ -136,8 +136,13 @@ public class MagicStack /* extends MyObservable */ implements Iterable