                           (fn [i s]
                             (if (< i n) s
                                 {:content (vec (for [c (:content s)]
-                                                 (update-in c [:zone] #(assoc (vec %) 2 i))))
+                                                 (let [c (update-in c [:zone] #(assoc (vec %) 2 i))]
+                                                   (assoc c :hosted
+                                                            (for [h (:hosted c)]
+                                                               (assoc-in h [:host :zone] (:zone c)))))))
                                  :ices (vec (for [c (:ices s)]
                                               (update-in c [:zone] #(assoc (vec %) 2 i))))}))
                           (get-in @state [:corp :servers :remote]))))

               (when (:rezzed c)
                 (when-let [events (:events (card-def c))]
                   (unregister-events state side c)
                   (register-events state side events c))))))
         (trigger-event state side :card-moved card moved-card)
         moved-card)))))


      (when-let [name (:title c)]
        (when-let [access-effect (:access cdef)]
          (resolve-ability state (to-keyword (:side c)) access-effect c nil))
        (trigger-event state side :access c)
        (when (not= (:zone c) [:discard])
          (trigger-event state side :pre-trash c)
          (if-let [trash-cost (trash-cost state side c)]
