                                          (> (count (concat (:ices (card->server state card))
                                                            (:content (card->server state card)))) 1))
                                 (prevent-jack-out state side))
-                              (trash state side card)
-                              (trash-ice-in-run state))}]}
+                              (when (= current-ice card)
+                                (trash-ice-in-run state))
+                              (trash state side card))}]}
 
    "Woodcutter"
    {:advanceable :while-rezzed

                                      :player :runner
                                      :msg (msg "force the Runner to trash " (:title target))
                                      :effect (req (trash state side target)
                                                   (trash state side card)
                                                   (trash-ice-in-run state)))]}

   "Lancelot"
   {:abilities [trash-program

   "Data Mine"
   {:abilities [{:msg "do 1 net damage"
                 :effect (req (damage state :runner :net 1 {:card card})
                              (when (= current-ice card)
                                (trash-ice-in-run state))
                              (trash state side card))}]}

   "Datapike"
   {:abilities [{:msg "force the Runner to pay 2 [Credits] if able"
