diff --git a/packages/loot-core/src/server/budget/goaltemplates.ts b/packages/loot-core/src/server/budget/goaltemplates.ts
index 993c30d7081d4b8f70b94c6084d42c33a57530e7..e1678bd752e95ff76f09ca84c152fe03a297144d 100644
--- a/packages/loot-core/src/server/budget/goaltemplates.ts
+++ b/packages/loot-core/src/server/budget/goaltemplates.ts
@@ -69,7 +69,7 @@ async function processTemplate(month, force, category_templates) {
   let setToZero = [];
 
   let categories = await db.all(
-    'SELECT * FROM v_categories WHERE tombstone = 0',
+    'SELECT * FROM v_categories WHERE tombstone = 0 AND hidden = 0',
   );
 
   //clears templated categories
diff --git a/upcoming-release-notes/1481.md b/upcoming-release-notes/1481.md
new file mode 100644
index 0000000000000000000000000000000000000000..b771cd5cf98beb287b83cbb6e8b5ca8b4712aae6
--- /dev/null
+++ b/upcoming-release-notes/1481.md
@@ -0,0 +1,6 @@
+---
+category: Bugfix
+authors: [shall0pass]
+---
+
+Goals: Ignore hidden categories when applying templates