diff --git a/Assets/Scripts/Alterations/AddScoreOnCardDraw.cs b/Assets/Scripts/Alterations/AddScoreOnCardDraw.cs
index 8b1ba112e334560054548011d23be7b46234664b..ea4ff0db221e23d7650801943eaa4fee889157f6 100644
--- a/Assets/Scripts/Alterations/AddScoreOnCardDraw.cs
+++ b/Assets/Scripts/Alterations/AddScoreOnCardDraw.cs
@@ -8,6 +8,7 @@ public class AddScoreOnCardDraw : Alteration
     public AddScoreOnCardDraw(AlterationInfo info, AlterationPool pool) : base(info, pool)
     {
         CardEvent<Card>.Register(Event.CARD_DRAW, OnCardPlayed);
+        CardEvent<Card>.Register(Event.EXTRA_CARD_DRAW, OnCardPlayed);
     }
 
     public void OnCardPlayed(Card card)
@@ -22,6 +23,7 @@ public class AddScoreOnCardDraw : Alteration
     public override void CleanUp()
     {
         CardEvent<Card>.Unregister(Event.CARD_DRAW, OnCardPlayed);
+        CardEvent<Card>.Unregister(Event.EXTRA_CARD_DRAW, OnCardPlayed);
         mPool.Remove(this);
     }
 }
diff --git a/Assets/Scripts/CardEvents.cs b/Assets/Scripts/CardEvents.cs
index dff366c497815ef59eec3b053ae9a404ee737537..7c06a9728074c07a0dd15ba729cf515698efc803 100644
--- a/Assets/Scripts/CardEvents.cs
+++ b/Assets/Scripts/CardEvents.cs
@@ -8,7 +8,8 @@ public enum Event
     CARD_PLAYED,
     CARD_DRAW,
     CARD_DISCARD,
-    CARD_EFFECT_APPLIED
+    CARD_EFFECT_APPLIED,
+    EXTRA_CARD_DRAW
 }
 
 public class CardEvent<T>
diff --git a/Assets/Scripts/Deck/Hand.cs b/Assets/Scripts/Deck/Hand.cs
index 31644edb517f3444d7bcda4b3a58e85faf19c9ee..171568636803ce05c4867b5a4fe5d81feb7128b1 100644
--- a/Assets/Scripts/Deck/Hand.cs
+++ b/Assets/Scripts/Deck/Hand.cs
@@ -61,6 +61,7 @@ public class Hand : MonoBehaviour
             newCard.transform.SetParent(transform);
             newCard.gameObject.SetActive(true);
             newCard.GetComponent<CardUi>().Show();
+            CardEvent<Card>.Trigger(Event.EXTRA_CARD_DRAW, newCard);
         }
         else
         {
diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs
index 7cd231e2dead3d768764d9fe58559159ae20ba89..62636d7a21a567af707c67435eabfbc40ec6c493 100644
--- a/Assets/Scripts/GameManager.cs
+++ b/Assets/Scripts/GameManager.cs
@@ -106,6 +106,7 @@ public class GameManager : MonoBehaviour
         currentState = GameState.FIGHT;
 
         CardEvent<Card>.Register(global::Event.CARD_DRAW, OnCardDraw);
+        CardEvent<Card>.Register(global::Event.EXTRA_CARD_DRAW, OnCardDraw);
         CardEvent<Card>.Register(global::Event.CARD_DISCARD, OnCardDiscard);
         mIsRegistered = true;
     }
@@ -113,6 +114,7 @@ public class GameManager : MonoBehaviour
     public void StartDraft()
     {
         CardEvent<Card>.Unregister(global::Event.CARD_DRAW, OnCardDraw);
+        CardEvent<Card>.Unregister(global::Event.EXTRA_CARD_DRAW, OnCardDraw);
         CardEvent<Card>.Unregister(global::Event.CARD_DISCARD, OnCardDiscard);
         mIsRegistered = false;
 
diff --git a/Assets/Scripts/Ui/HandUi.cs b/Assets/Scripts/Ui/HandUi.cs
index 39d40016ff248f54d41d7d6e00399a64dc5650af..8ee0a8bc52186ef79c612e4f843d192299fd4970 100644
--- a/Assets/Scripts/Ui/HandUi.cs
+++ b/Assets/Scripts/Ui/HandUi.cs
@@ -12,6 +12,7 @@ public class HandUi : MonoBehaviour
     private void Awake()
     {
         CardEvent<Card>.Register(Event.CARD_DRAW, OnCardEvent);
+        CardEvent<Card>.Register(Event.EXTRA_CARD_DRAW, OnCardEvent);
         CardEvent<Card>.Register(Event.CARD_DISCARD, OnCardEvent);
     }