    "Its a Trap!"
    {:expose {:msg "do 2 net damage" :effect (effect (damage :net 2 {:card card}))}
     :abilities [(assoc trash-installed :effect (req (trash state side target {:cause :subroutine})
-                                                    (trash state side card)
-                                                    (trash-ice-in-run state)))]}
+                                                    (when (= current-ice card)
+                                                      (trash-ice-in-run state))
+                                                    (trash state side card)))]}
 
    "Janus 1.0"
    {:abilities [{:msg "do 1 brain damage" :effect (effect (damage :brain 1 {:card card}))}]}

                                      :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

                                         (> (count (concat (:ices (card->server state card))
                                                           (:content (card->server state card)))) 1))
                                (prevent-jack-out state side))
                              (when (= current-ice card)
                                (trash-ice-in-run state))
                              (trash state side card))}]}

   "Woodcutter"
   {:advanceable :while-rezzed
