         [success-channel error-channel]
         (reddit/get-subreddit-videos subreddit)]
     (go (let [new-playlist (<! success-channel)]
-          (om/update! app :playlist-selected (first new-playlist))
+          (when-not (-> app :playlist-selected)
+            (om/update! app :playlist-selected (first new-playlist)))
           (om/update! app :playlist new-playlist)
           ))
     error-channel

    om/IRenderState
    (render-state [_ {:keys [selected
                             selection-channel]}]
      (let [classes (if (= selected @entry)
                      "redditv-playlist-entry selected"
                      "redditv-playlist-entry")]
        (dom/div #js {:className classes

              (let [{:keys [event-type] :as event} (<! player-channel)]
                (case event-type
                  :video-ended
                  (next-video! app)
                  :video-not-started
                  (next-video! app)
                  nil))
