diff --git a/packages/loot-core/src/server/budget/actions.ts b/packages/loot-core/src/server/budget/actions.ts
index 431db19a16d31e1025fd9b12d166016c2532569e..6ddffc06e46e94a37eb5e1547d76f385228d35de 100644
--- a/packages/loot-core/src/server/budget/actions.ts
+++ b/packages/loot-core/src/server/budget/actions.ts
@@ -127,7 +127,9 @@ export function setGoal({ month, category, goal }): Promise<void> {
     });
   }
   return db.insert(table, {
-    id: month,
+    id: `${dbMonth(month)}-${category}`,
+    month: dbMonth(month),
+    category,
     goal,
   });
 }
diff --git a/upcoming-release-notes/2281.md b/upcoming-release-notes/2281.md
new file mode 100644
index 0000000000000000000000000000000000000000..fa8bd708e8900a2bd0ebeb7804b6a88c230a34db
--- /dev/null
+++ b/upcoming-release-notes/2281.md
@@ -0,0 +1,6 @@
+---
+category: Bugfix
+authors: [shall0pass]
+---
+
+Fix database entry when applying goal templates