     (let [instance-ids (-> @build :instance-ids)
           lb-name (-> @build :lb-name)]
       (try
-        (try-try-again
-         {:sleep 5000
+        (wait-for
+         {:sleep (to-millis (time/minutes 1))
           :tries (lb-healthy-retries)}
-         #(throw-if-not (lb/healthy? lb-name instance-ids) "instances not healthy"))
+         #(lb/healthy? lb-name instance-ids))
         (build-log "instances %s all healthy in load balancer %s" instance-ids lb-name)
         (catch Exception e
           (abort! build (format "load balancer didn't report healthy for %s" instance-ids)))))))

  (:use [clojure.tools.logging :only (infof)])
  (:use [circle.backend.action :only (defaction abort!)])
  (:use [circle.util.except :only (throw-if-not)])
  (:use [circle.model.build :only (build-log)])
  (:use [robert.bruce :only (try-try-again)])
  (:use [circle.api.client.system :only (graceful-shutdown)])
  (:require [circle.backend.load-balancer :as lb])
  (:require [circle.backend.ec2 :as ec2])

  (fn [build]
    (try
      (let [lb-name (-> @build :lb-name)
            _ (throw-if-not lb-name "build LB name must not be null. Is it in your DB?")
            instance-ids (-> @build :instance-ids)
            _ (doseq [i instance-ids
                      :let [az (ec2/get-availability-zone i)]]
