diff --git a/packages/loot-core/src/server/budget/goaltemplates.ts b/packages/loot-core/src/server/budget/goaltemplates.ts
index 9fcbdeb4ccece4014bef9d933773d414709a3669..66644df6e5b7fe161455f5fc55a8a84cec42963a 100644
--- a/packages/loot-core/src/server/budget/goaltemplates.ts
+++ b/packages/loot-core/src/server/budget/goaltemplates.ts
@@ -541,6 +541,7 @@ async function applyCategoryTemplate(
             !priority
           ) {
             to_budget += diff;
+            if (l === template_lines.length - 1) to_budget -= spent;
           } else {
             if (budgetAvailable > 0) to_budget = budgetAvailable;
             errors.push(`Insufficient funds.`);
diff --git a/upcoming-release-notes/1049.md b/upcoming-release-notes/1049.md
new file mode 100644
index 0000000000000000000000000000000000000000..ab841f69d499d0414840b6860a8a437a2c3f6bac
--- /dev/null
+++ b/upcoming-release-notes/1049.md
@@ -0,0 +1,6 @@
+---
+category: Bugfix
+authors: [shall0pass]
+---
+
+Goals Schedule - Include spent in calculation
\ No newline at end of file