diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java index e7a49dfb20b..3d109153ce0 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java @@ -91,8 +91,10 @@ public class DeckController { } public void loadDeck(Deck deck, boolean substituteCurrentDeck) { boolean isStored; - if (view.getCatalogManager().isInfinite()) { - Deck currentDeck = view.getHumanDeck(); + boolean isInfinite = view.getCatalogManager().isInfinite(); + Deck currentDeck = view.getHumanDeck(); + + if (isInfinite) { if (substituteCurrentDeck || currentDeck.isEmpty()) { newModel(); isStored = false; @@ -107,10 +109,12 @@ public class DeckController { isStored = false; } - Deck currentDeck = view.getHumanDeck(); for (DeckSection section: EnumSet.allOf(DeckSection.class)) { if (view.isSectionImportable(section)) { CardPool sectionCards = currentDeck.getOrCreate(section); + if (!isInfinite) { + sectionCards.clear(); + } sectionCards.addAll(deck.getOrCreate(section)); } }