         {:keys [build-num project-name]} context
         {:keys [org repo vcs_type]} (state/navigation-data current-state)
         {:keys [read-settings]} scopes
-        plan-url (gstring/format "/api/v1.1/project/%s/%s/plan" vcs_type project-name)]
+        plan-url (gstring/format "/api/v1.1/project/%s/%s/plan" vcs_type project-name)
+        build-changed? (not (= (-> previous-state :current-build-data) (-> current-state :current-build-data)))]
     ;; This is slightly different than the api-event because we don't want to have to
     ;; convert the build from steps to containers again.
     (analytics/track {:event-type :view-build

(defn maybe-set-containers-filter!
  "Depending on the status and outcome of the build, set active
  container filter to failed."
  [state comms]
  (let [build (get-in state state/build-path)
        containers (get-in state state/containers-path)
        build-running? (not (build-model/finished? build))

    ;; set filter
    (when (and (not build-running?)
               (seq failed-containers)
               failed-filter-valid?
               build-changed?)
      (put! controls-ch [:container-filter-changed {:new-filter :failed
                                                    :containers failed-containers}]))))

