diff --git a/routers/api/v1/admin/hooks.go b/routers/api/v1/admin/hooks.go
index d5603dd068..4a1840b789 100644
--- a/routers/api/v1/admin/hooks.go
+++ b/routers/api/v1/admin/hooks.go
@@ -4,6 +4,7 @@
 package admin
 
 import (
+	"errors"
 	"net/http"
 
 	"code.gitea.io/gitea/models/webhook"
@@ -74,7 +75,11 @@ func GetHook(ctx *context.APIContext) {
 	hookID := ctx.ParamsInt64(":id")
 	hook, err := webhook.GetSystemOrDefaultWebhook(ctx, hookID)
 	if err != nil {
-		ctx.Error(http.StatusInternalServerError, "GetSystemOrDefaultWebhook", err)
+		if errors.Is(err, util.ErrNotExist) {
+			ctx.NotFound()
+		} else {
+			ctx.Error(http.StatusInternalServerError, "GetSystemOrDefaultWebhook", err)
+		}
 		return
 	}
 	h, err := webhook_service.ToHook("/admin/", hook)
@@ -163,7 +168,7 @@ func DeleteHook(ctx *context.APIContext) {
 
 	hookID := ctx.ParamsInt64(":id")
 	if err := webhook.DeleteDefaultSystemWebhook(ctx, hookID); err != nil {
-		if webhook.IsErrWebhookNotExist(err) {
+		if errors.Is(err, util.ErrNotExist) {
 			ctx.NotFound()
 		} else {
 			ctx.Error(http.StatusInternalServerError, "DeleteDefaultSystemWebhook", err)