diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index af365c8c18b..43eb7c32f20 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -6476,6 +6476,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { final Collection toRemove = Lists.newArrayListWithCapacity(abilities.size()); for (final SpellAbility sa : abilities) { + Player oldController = sa.getActivatingPlayer(); sa.setActivatingPlayer(player); // fix things like retrace // check only if SA can't be cast normally @@ -6483,6 +6484,10 @@ public class Card extends GameEntity implements Comparable, IHasSVars { continue; } if ((removeUnplayable && !sa.canPlay()) || !sa.isPossible()) { + if (oldController != null) { + // in case the ability is on the stack this should not change + sa.setActivatingPlayer(oldController); + } toRemove.add(sa); } }