diff --git a/src/cmd/changelog-webapp/controllers/pageHandlers.go b/src/cmd/changelog-webapp/controllers/pageHandlers.go
index d421f8c..4b7643a 100644
--- a/src/cmd/changelog-webapp/controllers/pageHandlers.go
+++ b/src/cmd/changelog-webapp/controllers/pageHandlers.go
@@ -530,11 +530,6 @@
 		handleError(w, r, utilErr, "/findreleasedbuild/")
 		return
 	}
-	if buildData == nil {
-		log.Errorf("CL %s not found", cl)
-		handleError(w, r, utilErr, "/findreleasedbuild/")
-		return
-	}
 
 	gerritLink := gerrit + "/c/" + buildData.CLNum
 
diff --git a/src/cmd/changelog-webapp/static/templates/findReleasedBuild.html b/src/cmd/changelog-webapp/static/templates/findReleasedBuild.html
index 3b88a41..7e3a1ab 100644
--- a/src/cmd/changelog-webapp/static/templates/findReleasedBuild.html
+++ b/src/cmd/changelog-webapp/static/templates/findReleasedBuild.html
@@ -22,7 +22,7 @@
     <p class="feature-info">
         Find the first Container-Optimized OS released build containing a desired
         changelist.<br>
-      Example input: <b>3280</b> or
+      Example input: <b>3280</b>
     </p>
     <p class="feature-info">
       <b>Note:</b>  It is possible that COS build was released with the cl number so please check out the Landed in tab. 
@@ -65,10 +65,17 @@
     </form>
     <div class="locate-build-result">
       {{if (ne .BuildNum "")}}
-        <p>
-          <a href={{.GerritLink}} target="_blank"> CL {{.CLNum}}</a>
-          released in build <b>{{.BuildNum}}</b>.
-        </p>
+        {{if (ne .BuildNum "0.000.0")}}
+          <p>
+            <a href={{.GerritLink}} target="_blank"> CL {{.CLNum}}</a>
+            released in build <b>{{.BuildNum}}</b>.
+          </p>
+        {{else}}
+          <p>
+            <a href={{.GerritLink}} target="_blank"> CL {{.CLNum}}</a>
+            no released build found.
+          </p>
+        {{end}}
       {{end}}
     </div>
   </div>
diff --git a/src/pkg/findbuild/findbuild.go b/src/pkg/findbuild/findbuild.go
index 0a0ecc6..d0f0b48 100644
--- a/src/pkg/findbuild/findbuild.go
+++ b/src/pkg/findbuild/findbuild.go
@@ -657,6 +657,7 @@
 	db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@cloudsql(%s)/%s", user, password, connectionName, dbName))
 	if err != nil {
 		log.Fatalf("Could not open db: %v", err)
+		return nil, utils.InternalServerError
 	}
 	// query database
 	// SELECT release_build_number FROM DBName WHERE cLNumber = request.CL;
@@ -664,10 +665,12 @@
 	rows, err := db.Query(queryStmt, request.CL)
 	if err != nil {
 		log.Fatalf("Could not query db: %v", err)
+		return nil, utils.InternalServerError
 	}
 	// change rows to BuildResponse type
 	defer rows.Close()
 	var releasedBuildNumber string
+	releasedBuild := BuildResponse{}
 	if rows.Next() {
 		if err := rows.Scan(&releasedBuildNumber); err != nil {
 			log.Errorf("Could not scan result: %v", err)
@@ -675,12 +678,13 @@
 		}
 	} else {
 		log.Errorf("No build number found")
-		return nil, nil
+		releasedBuild.BuildNum = "0.000.0"
+		releasedBuild.CLNum = request.CL
+		return &releasedBuild, nil
 	}
 	if rows.Next() {
 		log.Errorf("More than one build number found")
 	}
-	releasedBuild := BuildResponse{}
 	releasedBuild.BuildNum = releasedBuildNumber
 	releasedBuild.CLNum = request.CL
 	return &releasedBuild, nil
