diff --git a/Assets/Scripts/Cards/Card.cs b/Assets/Scripts/Cards/Card.cs
index ec79e64116317721ab7b7cf61734f8759f93bdc0..5c47afe421273746de8cb836edd2df49d474d847 100644
--- a/Assets/Scripts/Cards/Card.cs
+++ b/Assets/Scripts/Cards/Card.cs
@@ -16,6 +16,8 @@ public class Card : MonoBehaviour
 
     public string Name = "";
 
+    private DraftChoice mChoice = null; //dirty hack for ui : if you click on the card in ui it will just add it to deck
+
     public List<Effect> GetEffects()
     {
         if (mEffects == null)
@@ -41,7 +43,7 @@ public class Card : MonoBehaviour
     /* Run all effects */
     public void Apply()
     {
-        if (Playable)
+        if (mChoice == null)
         {
             CardEvent<Card>.Trigger(Event.CARD_PLAYED, this);
             foreach (Effect effect in mEffects)
@@ -50,6 +52,15 @@ public class Card : MonoBehaviour
             }
             gameObject.GetComponentInParent<Hand>().Discard(this);
         }
+        else
+        {
+            mChoice.Select();
+        }
+    }
+
+    public void SetDraftChoice(DraftChoice choice)
+    {
+        mChoice = choice;
     }
     
 }
diff --git a/Assets/Scripts/Deck/Deck.cs b/Assets/Scripts/Deck/Deck.cs
index 0a8232c3eadf60465337c75a06bf7ce145ef562a..e965846fdc05c8ecc456b4ab11d5e284ee9752cc 100644
--- a/Assets/Scripts/Deck/Deck.cs
+++ b/Assets/Scripts/Deck/Deck.cs
@@ -69,6 +69,7 @@ public class Deck : MonoBehaviour
         {
             totalCards.Insert(j, card);
         }
+        PutCardInDeck(card);
     }
 
     public void PutCardInDeck(Card card)
diff --git a/Assets/Scripts/Draft/DraftChoice.cs b/Assets/Scripts/Draft/DraftChoice.cs
index 5d3b8fd43135903e96fa7054ec6daeef09e5443c..2833c9f8850e2b08d7a4962958d3f8c670800723 100644
--- a/Assets/Scripts/Draft/DraftChoice.cs
+++ b/Assets/Scripts/Draft/DraftChoice.cs
@@ -23,8 +23,7 @@ public class DraftChoice : MonoBehaviour
         mCard.transform.SetParent(transform);
         mCard.SetActive(true);
         mCard.transform.localScale = new Vector3(1, 1); // small adjustment
-        mCard.GetComponent<Image>().raycastTarget = false;
-        mCard.GetComponent<Button>().interactable = false;
+        mCard.GetComponent<Card>().SetDraftChoice(this);
         mCard.transform.localPosition = new Vector3(0, 0, 1);
     }
 
@@ -33,6 +32,7 @@ public class DraftChoice : MonoBehaviour
         mCard.transform.localScale = new Vector3(0.5f, 0.5f); // small adjustment
         mCard.GetComponent<Image>().raycastTarget = true;
         mCard.GetComponent<Button>().interactable = true;
+        mCard.GetComponent<Card>().SetDraftChoice(null);
         GameManager.Instance.PlayerDeck.AddCard(mCard.GetComponent<Card>());
         GameManager.Instance.NextState();
         mCard = null;