diff --git a/Mage.Sets/src/mage/cards/v/ViralSpawning.java b/Mage.Sets/src/mage/cards/v/ViralSpawning.java
new file mode 100644
index 0000000000..f92ab2b7b4
--- /dev/null
+++ b/Mage.Sets/src/mage/cards/v/ViralSpawning.java
@@ -0,0 +1,51 @@
+package mage.cards.v;
+
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.condition.common.CorruptedCondition;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.decorator.ConditionalContinuousEffect;
+import mage.abilities.effects.common.CreateTokenEffect;
+import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
+import mage.abilities.keyword.FlashbackAbility;
+import mage.cards.CardImpl;
+import mage.cards.CardSetInfo;
+import mage.constants.AbilityWord;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Zone;
+import mage.game.permanent.token.PhyrexianBeastToxicToken;
+
+import java.util.UUID;
+
+/**
+ * @author TheElk801
+ */
+public final class ViralSpawning extends CardImpl {
+
+    public ViralSpawning(UUID ownerId, CardSetInfo setInfo) {
+        super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{G}");
+
+        // Create a 3/3 green Phyrexian Beast creature token with toxic 1.
+        this.getSpellAbility().addEffect(new CreateTokenEffect(new PhyrexianBeastToxicToken()));
+
+        // Corrupted -- As long as an opponent has three or more poison counters and Viral Spawning is in your graveyard, it has flashback {2}{G}.
+        this.addAbility(new SimpleStaticAbility(
+                Zone.GRAVEYARD,
+                new ConditionalContinuousEffect(
+                        new GainAbilitySourceEffect(
+                                new FlashbackAbility(this, new ManaCostsImpl<>("{2}{G}")), Duration.Custom, true
+                        ), CorruptedCondition.instance, "as long as an opponent has three or more " +
+                        "poison counters and {this} is in your graveyard, it has flashback {2}{G}"
+                )
+        ).setAbilityWord(AbilityWord.CORRUPTED).addHint(CorruptedCondition.getHint()));
+    }
+
+    private ViralSpawning(final ViralSpawning card) {
+        super(card);
+    }
+
+    @Override
+    public ViralSpawning copy() {
+        return new ViralSpawning(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java
index cb5666265c..16bf8209b9 100644
--- a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java
+++ b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java
@@ -267,6 +267,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet {
         cards.add(new SetCardInfo("Venomous Brutalizer", 193, Rarity.UNCOMMON, mage.cards.v.VenomousBrutalizer.class));
         cards.add(new SetCardInfo("Venser, Corpse Puppet", 219, Rarity.RARE, mage.cards.v.VenserCorpsePuppet.class));
         cards.add(new SetCardInfo("Vindictive Flamestoker", 154, Rarity.RARE, mage.cards.v.VindictiveFlamestoker.class));
+        cards.add(new SetCardInfo("Viral Spawning", 194, Rarity.UNCOMMON, mage.cards.v.ViralSpawning.class));
         cards.add(new SetCardInfo("Vivisection Evangelist", 220, Rarity.UNCOMMON, mage.cards.v.VivisectionEvangelist.class));
         cards.add(new SetCardInfo("Vivisurgeon's Insight", 77, Rarity.COMMON, mage.cards.v.VivisurgeonsInsight.class));
         cards.add(new SetCardInfo("Voidwing Hybrid", 221, Rarity.UNCOMMON, mage.cards.v.VoidwingHybrid.class));