diff --git a/Mage.Sets/src/mage/cards/c/CapriciousHellraiser.java b/Mage.Sets/src/mage/cards/c/CapriciousHellraiser.java
new file mode 100644
index 0000000000..db43681949
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/c/CapriciousHellraiser.java
@@ -0,0 +1,112 @@
+package mage.cards.c;
+
+import mage.ApprovingObject;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.EntersBattlefieldTriggeredAbility;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.condition.common.CardsInControllerGraveyardCondition;
+import mage.abilities.effects.OneShotEffect;
+import mage.abilities.effects.common.cost.SpellCostReductionSourceEffect;
+import mage.abilities.keyword.FlyingAbility;
+import mage.cards.*;
+import mage.constants.CardType;
+import mage.constants.Outcome;
+import mage.constants.SubType;
+import mage.constants.Zone;
+import mage.filter.StaticFilters;
+import mage.game.Game;
+import mage.players.Player;
+import mage.target.TargetCard;
+
+import java.util.UUID;
+
+public class CapriciousHellraiser extends CardImpl {
+    public CapriciousHellraiser(UUID ownerId, CardSetInfo setInfo) {
+        super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}{R}");
+        this.addSubType(SubType.PHYREXIAN);
+        this.addSubType(SubType.DRAGON);
+        this.power = new MageInt(4);
+        this.toughness = new MageInt(4);
+
+        //This spell costs {3} less to cast if you have nine or more cards in your graveyard.
+        this.addAbility(new SimpleStaticAbility(Zone.ALL, new SpellCostReductionSourceEffect(3,
+                new CardsInControllerGraveyardCondition(9)
+        )));
+
+        //Flying
+        this.addAbility(FlyingAbility.getInstance());
+
+        //When Capricious Hellraiser enters the battlefield, exile three cards at random from your graveyard. Choose a
+        //noncreature, nonland card from among them and copy it. You may cast the copy without paying its mana cost.
+        this.addAbility(new EntersBattlefieldTriggeredAbility(new CapriciousHellraiserEffect()));
+    }
+
+    private CapriciousHellraiser(final CapriciousHellraiser card) {
+        super(card);
+    }
+
+    @Override
+    public CapriciousHellraiser copy() {
+        return new CapriciousHellraiser(this);
+    }
+}
+
+class CapriciousHellraiserEffect extends OneShotEffect {
+
+    public CapriciousHellraiserEffect() {
+        super(Outcome.Benefit);
+        this.staticText = "exile three cards at random from your graveyard. Choose a noncreature, nonland card from " +
+                "among them and copy it. You may cast the copy without paying its mana cost";
+    }
+
+    private CapriciousHellraiserEffect(final CapriciousHellraiserEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        Player controller = game.getPlayer(source.getControllerId());
+        if (controller != null) {
+            Cards cardsInGraveyard = new CardsImpl(controller.getGraveyard().getCards(game));
+            Cards toExile = new CardsImpl();
+            Cards cardsToChooseFrom = new CardsImpl();
+            for (int i = 0; i < 3; i++) {
+                Card card = cardsInGraveyard.getRandom(game);
+                if (card != null) {
+                    toExile.add(card);
+                    cardsInGraveyard.remove(card);
+                    if (!card.isCreature() && !card.isLand()) {
+                        cardsToChooseFrom.add(card);
+                    }
+                }
+            }
+            controller.moveCards(toExile, Zone.EXILED, source, game);
+            if (cardsToChooseFrom.size() > 0) {
+                TargetCard targetCard = new TargetCard(1, Zone.EXILED, StaticFilters.FILTER_CARD);
+                controller.choose(Outcome.Copy, cardsToChooseFrom, targetCard, game);
+                Card cardToCopy = game.getCard(targetCard.getTargets().get(0));
+                if (cardToCopy == null) {
+                    return true;
+                }
+                if (!controller.chooseUse(outcome, "Cast copy of " + cardToCopy.getName() + " without paying its mana cost?", source, game)) {
+                    return true;
+                }
+                Card copiedCard = game.copyCard(cardToCopy, source, controller.getId());
+                game.getState().setValue("PlayFromNotOwnHandZone" + copiedCard.getId(), Boolean.TRUE);
+                controller.cast(
+                        controller.chooseAbilityForCast(copiedCard, game, true),
+                        game, true, new ApprovingObject(source, game)
+                );
+                game.getState().setValue("PlayFromNotOwnHandZone" + copiedCard.getId(), null);
+            }
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public CapriciousHellraiserEffect copy() {
+        return new CapriciousHellraiserEffect(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java
index da1abd1b03..5ee9b5ad79 100644
--- a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java
+++ b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java
@@ -54,6 +54,10 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet {
         cards.add(new SetCardInfo("Bring the Ending", 44, Rarity.COMMON, mage.cards.b.BringTheEnding.class));
         cards.add(new SetCardInfo("Cacophony Scamp", 124, Rarity.UNCOMMON, mage.cards.c.CacophonyScamp.class));
         cards.add(new SetCardInfo("Cankerbloom", 161, Rarity.UNCOMMON, mage.cards.c.Cankerbloom.class));
+        cards.add(new SetCardInfo("Capricious Hellraiser", 125, Rarity.MYTHIC, mage.cards.c.CapriciousHellraiser.class, NON_FULL_USE_VARIOUS));
+        cards.add(new SetCardInfo("Capricious Hellraiser", 310, Rarity.MYTHIC, mage.cards.c.CapriciousHellraiser.class, NON_FULL_USE_VARIOUS));
+        cards.add(new SetCardInfo("Capricious Hellraiser", 353, Rarity.MYTHIC, mage.cards.c.CapriciousHellraiser.class, NON_FULL_USE_VARIOUS));
+        cards.add(new SetCardInfo("Capricious Hellraiser", 444, Rarity.MYTHIC, mage.cards.c.CapriciousHellraiser.class, NON_FULL_USE_VARIOUS));
         cards.add(new SetCardInfo("Cephalopod Sentry", 198, Rarity.UNCOMMON, mage.cards.c.CephalopodSentry.class));
         cards.add(new SetCardInfo("Charforger", 199, Rarity.UNCOMMON, mage.cards.c.Charforger.class));
         cards.add(new SetCardInfo("Chimney Rabble", 126, Rarity.COMMON, mage.cards.c.ChimneyRabble.class));