diff --git a/Mage.Sets/src/mage/cards/m/MirrorGolem.java b/Mage.Sets/src/mage/cards/m/MirrorGolem.java index c90a7efde34..b0e3d070bae 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorGolem.java +++ b/Mage.Sets/src/mage/cards/m/MirrorGolem.java @@ -76,11 +76,13 @@ class MirrorGolemImprintEffect extends OneShotEffect { Permanent sourcePermanent = game.getPermanent(source.getSourceId()); Card card = game.getCard(this.getTargetPointer().getFirst(game, source)); if (card != null) { - UUID exileZoneId = CardUtil.getExileZoneId(game, source.getSourceId(), sourcePermanent.getZoneChangeCounter(game)); - String exileZoneName = source.getSourceObject(game).getIdName(); - controller.moveCardsToExile(card, source, game, true, exileZoneId, exileZoneName); if (sourcePermanent != null) { + UUID exileZoneId = CardUtil.getExileZoneId(game, source.getSourceId(), sourcePermanent.getZoneChangeCounter(game)); + String exileZoneName = sourcePermanent.getIdName(); + controller.moveCardsToExile(card, source, game, true, exileZoneId, exileZoneName); sourcePermanent.imprint(this.getTargetPointer().getFirst(game, source), game); + } else { + controller.moveCardsToExile(card, source, game, true, null, ""); } } return true; @@ -104,10 +106,12 @@ class MirrorGolemEffect extends ContinuousEffectImpl { @Override public boolean apply(Game game, Ability source) { Permanent sourceObject = game.getPermanent(source.getSourceId()); + if (sourceObject == null || sourceObject.getImprinted() == null) { + return false; + } UUID exileZoneId = CardUtil.getExileZoneId(game, source.getSourceId(), sourceObject.getZoneChangeCounter(game)); ExileZone exileZone = game.getExile().getExileZone(exileZoneId); - - if (sourceObject == null || sourceObject.getImprinted() == null || exileZone == null) { + if (exileZone == null) { return false; }