diff --git a/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java b/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java index f2bb07819d6..0204e3bb6e3 100644 --- a/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java +++ b/Mage/src/main/java/mage/abilities/effects/ContinuousEffects.java @@ -1078,7 +1078,7 @@ public class ContinuousEffects implements Serializable { public void addEffect(ContinuousEffect effect, UUID sourceId, Ability source) { if (!(source instanceof MageSingleton)) { // because MageSingletons may never be removed by removing the temporary effecs they are not added to the temporaryEffects to prevent this effect.setTemporary(true); - Set abilities = temporaryEffects.get(effect); + Set abilities = temporaryEffects.get(effect); if (abilities == null) { abilities = new HashSet<>(); temporaryEffects.put(effect, abilities); diff --git a/Mage/src/main/java/mage/abilities/effects/common/CopyEffect.java b/Mage/src/main/java/mage/abilities/effects/common/CopyEffect.java index 3bc7c897547..b7ddb3355be 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/CopyEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/CopyEffect.java @@ -136,8 +136,14 @@ public class CopyEffect extends ContinuousEffectImpl { } permanent.removeAllAbilities(source.getSourceId(), game); - for (Ability ability : copyFromObject.getAbilities()) { - permanent.addAbility(ability, getSourceId(), game, false); // no new Id so consumed replacement effects are known while new continuousEffects.apply happen. + if (copyFromObject instanceof Permanent) { + for (Ability ability : ((Permanent) copyFromObject).getAbilities(game)) { + permanent.addAbility(ability, getSourceId(), game, false); // no new Id so consumed replacement effects are known while new continuousEffects.apply happen. + } + } else { + for (Ability ability : copyFromObject.getAbilities()) { + permanent.addAbility(ability, getSourceId(), game, false); // no new Id so consumed replacement effects are known while new continuousEffects.apply happen. + } } permanent.getPower().setValue(copyFromObject.getPower().getValue()); permanent.getToughness().setValue(copyFromObject.getToughness().getValue());