         (swap! state update-in [:corp :register :scored-agenda] #(+ (or % 0) (:agendapoints c)))
         (gain-agenda-point state :corp (:agendapoints c))
         (set-prop state :corp c :advance-counter 0)
-        (when-let [current (get-in @state [:runner :current 0])]
+        (when-let [current (first (get-in @state [:runner :current]))]
           (say state side {:user "__system__" :text (str (:title current) " is trashed.")})
           (trash state side current))
         (trigger-event state :corp :agenda-scored (assoc c :advance-counter 0))))))

  (update! state side (apply assoc (cons card args))))

(defn resolve-prompt [state side {:keys [choice card] :as args}]
  (let [prompt (get-in @state [side :prompt 0])
        choice (if (= (:choices prompt) :credit)
                 (min choice (get-in @state [side :credit]))
                 choice)]

           (resolve-ability state side cdef card nil)
           (if (has? c :subtype "Current")
             (do (doseq [s [:corp :runner]]
                   (when-let [current (first (get-in @state [s :current]))]
                     (say state side {:user "__system__" :text (str (:title current) " is trashed.")})
                     (trash state side current)))
                 (let [moved-card (move state side (first (get-in @state [side :play-area])) :current)]
                   (card-init state side moved-card)))
             (move state side (first (get-in @state [side :play-area])) :discard)))))))

(defn in-play? [state card]
  (let [dest (when (= (:side card) "Runner")
