diff --git a/src/cmd/changelog-cli/main_test.go b/src/cmd/changelog-cli/main_test.go
index f3ce013..60e4abd 100644
--- a/src/cmd/changelog-cli/main_test.go
+++ b/src/cmd/changelog-cli/main_test.go
@@ -304,10 +304,6 @@
 			CL:        "1540",
 			ShouldErr: true,
 		},
-		"invalid cl identifier": {
-			CL:        "I6cc721e6e61b3863e549045e68c1a2bd363efa0a",
-			ShouldErr: true,
-		},
 	}
 	for name, test := range tests {
 		t.Run(name, func(t *testing.T) {
diff --git a/src/pkg/findbuild/findbuild_test.go b/src/pkg/findbuild/findbuild_test.go
index 2e34cbf..96269e3 100644
--- a/src/pkg/findbuild/findbuild_test.go
+++ b/src/pkg/findbuild/findbuild_test.go
@@ -19,6 +19,7 @@
 	"fmt"
 	"net/http"
 	"testing"
+	"time"
 
 	"go.chromium.org/luci/common/api/gerrit"
 	"golang.org/x/oauth2"
@@ -51,6 +52,15 @@
 		ShouldFallback     bool
 		ExpectedError      string
 	}{
+		"exponential search range required": {
+			Change:             "1740206",
+			GerritHost:         externalGerritURL,
+			GitilesHost:        externalGitilesURL,
+			FallbackGerritHost: externalFallbackGerritURL,
+			ManifestRepo:       externalManifestRepo,
+			OutputBuildNum:     "12371.1001.0",
+			ShouldFallback:     true,
+		},
 		"invalid host": {
 			Change:         "3781",
 			GerritHost:     "https://zop-review.googlesource.com",
@@ -143,12 +153,12 @@
 			ShouldFallback: false,
 		},
 		"branch not in manifest": {
-			Change:         "1592",
-			GerritHost:     externalGerritURL,
-			GitilesHost:    externalGitilesURL,
-			ManifestRepo:   externalManifestRepo,
-			ShouldFallback: false,
-			ExpectedError:  "406",
+			Change:             "1592",
+			GerritHost:         externalGerritURL,
+			FallbackGerritHost: externalFallbackGerritURL,
+			GitilesHost:        externalGitilesURL,
+			ManifestRepo:       externalManifestRepo,
+			ExpectedError:      "406",
 		},
 		"invalid release branch": {
 			Change:             "150",
@@ -159,15 +169,6 @@
 			ShouldFallback:     true,
 			ExpectedError:      "406",
 		},
-		"exponential search range required": {
-			Change:             "1740206",
-			GerritHost:         externalGerritURL,
-			GitilesHost:        externalGitilesURL,
-			FallbackGerritHost: externalFallbackGerritURL,
-			ManifestRepo:       externalManifestRepo,
-			OutputBuildNum:     "12371.1001.0",
-			ShouldFallback:     true,
-		},
 		"chromeos branch": {
 			Change:             "2036225",
 			GerritHost:         externalGerritURL,
@@ -181,38 +182,37 @@
 
 	httpClient, _ := getHTTPClient()
 	for name, test := range tests {
-		t.Run(name, func(t *testing.T) {
-			req := &BuildRequest{
+		req := &BuildRequest{
+			HTTPClient:   httpClient,
+			GerritHost:   test.GerritHost,
+			GitilesHost:  test.GitilesHost,
+			ManifestRepo: test.ManifestRepo,
+			CL:           test.Change,
+		}
+		res, err := FindBuild(req)
+		if err != nil && err.HTTPCode() != "404" && test.ShouldFallback {
+			t.Fatalf("test \"%s\" failed:\nexpected not found error, got %v", name, err)
+		}
+		if err != nil && err.HTTPCode() == "404" {
+			fallbackReq := &BuildRequest{
 				HTTPClient:   httpClient,
-				GerritHost:   test.GerritHost,
+				GerritHost:   test.FallbackGerritHost,
 				GitilesHost:  test.GitilesHost,
 				ManifestRepo: test.ManifestRepo,
 				CL:           test.Change,
 			}
-			res, err := FindBuild(req)
-			if err != nil && err.HTTPCode() != "404" && test.ShouldFallback {
-				t.Fatalf("expected not found error, got %v", err)
-			}
-			if err != nil && err.HTTPCode() == "404" {
-				fallbackReq := &BuildRequest{
-					HTTPClient:   httpClient,
-					GerritHost:   test.FallbackGerritHost,
-					GitilesHost:  test.GitilesHost,
-					ManifestRepo: test.ManifestRepo,
-					CL:           test.Change,
-				}
-				res, err = FindBuild(fallbackReq)
-			}
-			switch {
-			case test.ExpectedError == "" && err != nil:
-				t.Fatalf("expected no error, got %v", err)
-			case test.ExpectedError != "" && err == nil:
-				t.Fatalf("expected error code %s, got nil err", test.ExpectedError)
-			case test.ExpectedError != "" && err != nil && test.ExpectedError != err.HTTPCode():
-				t.Fatalf("expected error code %s, got error code %s", test.ExpectedError, err.HTTPCode())
-			case test.ExpectedError == "" && res.BuildNum != test.OutputBuildNum:
-				t.Fatalf("expected output %s, got %s", test.OutputBuildNum, res)
-			}
-		})
+			res, err = FindBuild(fallbackReq)
+		}
+		switch {
+		case test.ExpectedError == "" && err != nil:
+			t.Fatalf("test \"%s\" failed:\nexpected no error, got %v", name, err)
+		case test.ExpectedError != "" && err == nil:
+			t.Fatalf("test \"%s\" failed:\nexpected error code %s, got nil err", name, test.ExpectedError)
+		case test.ExpectedError != "" && err != nil && test.ExpectedError != err.HTTPCode():
+			t.Fatalf("test \"%s\" failed:\nexpected error code %s, got error code %s", name, test.ExpectedError, err.HTTPCode())
+		case test.ExpectedError == "" && res.BuildNum != test.OutputBuildNum:
+			t.Fatalf("test \"%s\" failed:\nexpected output %s, got %s", name, test.OutputBuildNum, res)
+		}
+		time.Sleep(time.Second * 5)
 	}
 }
diff --git a/src/pkg/utils/changelogerror.go b/src/pkg/utils/changelogerror.go
index 59c4d31..f5b415f 100644
--- a/src/pkg/utils/changelogerror.go
+++ b/src/pkg/utils/changelogerror.go
@@ -149,7 +149,7 @@
 	errStrFmt := "No build was found containing %s."
 	link := clLink(clID, instanceURL)
 	return &UtilChangelogError{
-		httpCode:  "404",
+		httpCode:  "406",
 		header:    "No Build Found",
 		err:       fmt.Sprintf(errStrFmt, "CL "+clID),
 		htmlErr:   fmt.Sprintf(errStrFmt, link),
