diff --git a/src/main/java/forge/card/cardfactory/CardFactory.java b/src/main/java/forge/card/cardfactory/CardFactory.java index 2eef426fda5..5b562cb8c0d 100644 --- a/src/main/java/forge/card/cardfactory/CardFactory.java +++ b/src/main/java/forge/card/cardfactory/CardFactory.java @@ -167,13 +167,16 @@ public class CardFactory { { copySA = sa.copy(); copySA.setSourceCard(c); + SpellAbility parentSA = copySA; SpellAbility subSA = copySA.getSubAbility(); - if (subSA != null) { + while (subSA != null) { AbilitySub copySubSA = ((AbilitySub) subSA).getCopy(); - copySA.setSubAbility(copySubSA); - copySubSA.setParent(copySA); + parentSA.setSubAbility(copySubSA); + copySubSA.setParent(parentSA); copySubSA.setSourceCard(c); copySubSA.setCopied(true); + parentSA = copySubSA; + subSA = copySubSA.getSubAbility(); } } copySA.setCopied(true);