diff --git a/HISTORY.rst b/HISTORY.rst
index c7bf1f08085e4766f37236db8c879700eb2a319d_SElTVE9SWS5yc3Q=..78612aa201f250eae966b1147756d9725c332df2_SElTVE9SWS5yc3Q= 100644
--- a/HISTORY.rst
+++ b/HISTORY.rst
@@ -1,6 +1,8 @@
 Release history
 ===============
 
+- template-varlist: fix error handling
+
 0.8.0 (2024-12-09)
 ==================
 
diff --git a/restapi/handlers/template-varlist.go b/restapi/handlers/template-varlist.go
index c7bf1f08085e4766f37236db8c879700eb2a319d_cmVzdGFwaS9oYW5kbGVycy90ZW1wbGF0ZS12YXJsaXN0Lmdv..78612aa201f250eae966b1147756d9725c332df2_cmVzdGFwaS9oYW5kbGVycy90ZW1wbGF0ZS12YXJsaXN0Lmdv 100644
--- a/restapi/handlers/template-varlist.go
+++ b/restapi/handlers/template-varlist.go
@@ -2,6 +2,7 @@
 
 import (
 	"context"
+	"database/sql"
 	"errors"
 	"fmt"
 
@@ -46,5 +47,5 @@
 
 	if template.Account != "" && template.Name != "" {
 		templatedb := models.TemplateDB{}
-		sql := database.NewSQLHelper(ctx, h.db, *log)
+		db := database.NewSQLHelper(ctx, h.db, *log)
 
@@ -50,8 +51,8 @@
 
-		if err := sql.GetWhere(
+		if err := db.GetWhere(
 			&templatedb,
 			squirrel.Eq{
 				models.TemplateDBAccountColumn: template.Account,
 				models.TemplateDBNameColumn:    template.Name,
 			},
 		); err != nil {
@@ -52,9 +53,14 @@
 			&templatedb,
 			squirrel.Eq{
 				models.TemplateDBAccountColumn: template.Account,
 				models.TemplateDBNameColumn:    template.Name,
 			},
 		); err != nil {
+			if errors.Is(err, sql.ErrNoRows) {
+				return nil, BadRequestError(fmt.Errorf(
+					"no such template: %s/%s", template.Account, template.Name))
+			}
+
 			return nil, err
 		}