diff --git a/packages/desktop-client/src/components/reports/graphs/SpendingGraph.tsx b/packages/desktop-client/src/components/reports/graphs/SpendingGraph.tsx
index 60b2b4f78ae34fe047926294ecc4e0183d6f046d..1592e0b99bedce59b9cc0199bd01ab2481c2f040 100644
--- a/packages/desktop-client/src/components/reports/graphs/SpendingGraph.tsx
+++ b/packages/desktop-client/src/components/reports/graphs/SpendingGraph.tsx
@@ -140,7 +140,7 @@ export function SpendingGraph({
   const lastYear = monthUtils.prevYear(monthUtils.currentMonth());
   let selection;
   switch (mode) {
-    case 'Average':
+    case 'average':
       selection = 'average';
       break;
     case 'lastYear':
diff --git a/packages/desktop-client/src/components/reports/reports/Spending.tsx b/packages/desktop-client/src/components/reports/reports/Spending.tsx
index 0800df9e34f428ae4e0a7a21a628a473fb4e7309..529c62c06fca87d56002049d3b82ddb0c55c36b2 100644
--- a/packages/desktop-client/src/components/reports/reports/Spending.tsx
+++ b/packages/desktop-client/src/components/reports/reports/Spending.tsx
@@ -321,8 +321,8 @@ export function Spending() {
                     )}
                     {showAverage && (
                       <ModeButton
-                        selected={mode === 'Average'}
-                        onSelect={() => setMode('Average')}
+                        selected={mode === 'average'}
+                        onSelect={() => setMode('average')}
                       >
                         Average
                       </ModeButton>
diff --git a/packages/desktop-client/src/components/reports/reports/SpendingCard.tsx b/packages/desktop-client/src/components/reports/reports/SpendingCard.tsx
index 57bbf6ad1c9b0dd8e389da15fff95f97907e96b6..94deb49fb3920b79e14f5ff3d13c98c8d1d486a6 100644
--- a/packages/desktop-client/src/components/reports/reports/SpendingCard.tsx
+++ b/packages/desktop-client/src/components/reports/reports/SpendingCard.tsx
@@ -40,7 +40,7 @@ export function SpendingCard() {
       : monthUtils.getDay(monthUtils.currentDay()) - 1;
   const difference =
     data &&
-    data.intervalData[todayDay].lastMonth -
+    data.intervalData[todayDay][spendingReportTime] -
       data.intervalData[todayDay].thisMonth;
   const showLastMonth = data && Math.abs(data.intervalData[27].lastMonth) > 0;
 
diff --git a/packages/loot-core/src/types/models/reports.d.ts b/packages/loot-core/src/types/models/reports.d.ts
index da645278614fa14b328e0369f65a1d500c46b26a..3fd9a0a424299f1dd8a1ebc55969bae131fd1866 100644
--- a/packages/loot-core/src/types/models/reports.d.ts
+++ b/packages/loot-core/src/types/models/reports.d.ts
@@ -32,6 +32,8 @@ export type balanceTypeOpType =
   | 'netAssets'
   | 'netDebts';
 
+export type spendingReportTimeType = 'lastMonth' | 'lastYear' | 'average';
+
 export type SpendingMonthEntity = Record<
   string | number,
   {
diff --git a/packages/loot-core/src/types/prefs.d.ts b/packages/loot-core/src/types/prefs.d.ts
index 82cd445a04bd13537ccd63d12aa7ea48efea446e..b859d537f78d8d8a4701cf2a8abb5833ddac3149 100644
--- a/packages/loot-core/src/types/prefs.d.ts
+++ b/packages/loot-core/src/types/prefs.d.ts
@@ -1,5 +1,7 @@
 import { type numberFormats } from '../shared/util';
 
+import { spendingReportTimeType } from './models/reports';
+
 export type FeatureFlag =
   | 'reportBudget'
   | 'goalTemplatesEnabled'
@@ -51,7 +53,7 @@ export type LocalPrefs = Partial<
     reportsViewSummary: boolean;
     reportsViewLabel: boolean;
     spendingReportFilter: string;
-    spendingReportTime: string;
+    spendingReportTime: spendingReportTimeType;
     sidebarWidth: number;
     'mobile.showSpentColumn': boolean;
   } & Record<`flags.${FeatureFlag}`, boolean>
diff --git a/upcoming-release-notes/3135.md b/upcoming-release-notes/3135.md
new file mode 100644
index 0000000000000000000000000000000000000000..6f890d1a6d09f19ce6266529661b5132a7a2f350
--- /dev/null
+++ b/upcoming-release-notes/3135.md
@@ -0,0 +1,6 @@
+---
+category: Bugfix
+authors: [carkom]
+---
+
+Fixes spending card that doesn't show the correct difference number.