diff --git a/src/main/java/forge/card/cardfactory/CardFactorySorceries.java b/src/main/java/forge/card/cardfactory/CardFactorySorceries.java index 54daf46c605..2fd32f48c04 100644 --- a/src/main/java/forge/card/cardfactory/CardFactorySorceries.java +++ b/src/main/java/forge/card/cardfactory/CardFactorySorceries.java @@ -461,9 +461,11 @@ public class CardFactorySorceries { public void resolve() { final Player player = this.getTargetPlayer(); final List lib = new ArrayList(player.getCardsIn(ZoneType.Library)); + final List grave = CardLists.filter(player.getCardsIn(ZoneType.Graveyard), nonBasicLands); - for (final Card c : Iterables.filter(player.getCardsIn(ZoneType.Graveyard), nonBasicLands)) { - for (final Card rem : Iterables.filter(lib, CardPredicates.nameEquals(c.getName()))) { + for (final Card c : grave) { + final List sameName = CardLists.filter(lib, CardPredicates.nameEquals(c.getName())); + for (final Card rem : sameName) { Singletons.getModel().getGame().getAction().exile(rem); lib.remove(rem); }