diff --git a/cmd/coordinator/coordinator.go b/cmd/coordinator/coordinator.go
index 2d8da73..c4ec992 100644
--- a/cmd/coordinator/coordinator.go
+++ b/cmd/coordinator/coordinator.go
@@ -96,7 +96,7 @@
 )
 
 func initTryBuilders() {
-	tryList := []string{
+	names := []string{
 		"darwin-amd64-10_11",
 		"linux-386",
 		"linux-amd64",
@@ -110,15 +110,15 @@
 		"nacl-amd64p32",
 		"linux-arm",
 	}
-	for bname := range dashboard.Builders {
-		if strings.HasPrefix(bname, "misc-compile") {
-			tryList = append(tryList, bname)
+	for name := range dashboard.Builders {
+		if strings.HasPrefix(name, "misc-compile") {
+			names = append(names, name)
 		}
 	}
-	for _, bname := range tryList {
-		conf, ok := dashboard.Builders[bname]
+	for _, name := range names {
+		conf, ok := dashboard.Builders[name]
 		if !ok {
-			log.Printf("ignoring invalid try builder config %q", bname)
+			log.Printf("ignoring invalid try builder config %q", name)
 			continue
 		}
 		tryBuilders = append(tryBuilders, conf)
@@ -819,9 +819,6 @@
 	if err != nil {
 		return err
 	}
-	if len(cis) == 0 {
-		return nil
-	}
 
 	statusMu.Lock()
 	defer statusMu.Unlock()
