diff --git a/packages/desktop-client/src/components/transactions/TransactionsTable.jsx b/packages/desktop-client/src/components/transactions/TransactionsTable.jsx
index 20ba4a19446deedc867cc12012ec3aaad19107d6..ab2a687bb2b3e9182a8bca743ac87a7a54900096 100644
--- a/packages/desktop-client/src/components/transactions/TransactionsTable.jsx
+++ b/packages/desktop-client/src/components/transactions/TransactionsTable.jsx
@@ -1240,7 +1240,9 @@ const Transaction = memo(function Transaction({
           focused={focusedField === 'payee'}
           /* Filter out the account we're currently in as it is not a valid transfer */
           accounts={accounts.filter(account => account.id !== accountId)}
-          payees={payees.filter(payee => payee.transfer_acct !== accountId)}
+          payees={payees.filter(
+            payee => !payee.transfer_acct || payee.transfer_acct !== accountId,
+          )}
           valueStyle={valueStyle}
           transaction={transaction}
           subtransactions={subtransactions}
diff --git a/packages/loot-core/src/server/db/index.ts b/packages/loot-core/src/server/db/index.ts
index 9a7fd514b02e856ceaffe3c19fbfe83733c31f88..04f49ee369798e81dfca6a41ec8409021d78b0c6 100644
--- a/packages/loot-core/src/server/db/index.ts
+++ b/packages/loot-core/src/server/db/index.ts
@@ -13,6 +13,7 @@ import { v4 as uuidv4 } from 'uuid';
 
 import * as fs from '../../platform/server/fs';
 import * as sqlite from '../../platform/server/sqlite';
+import * as monthUtils from '../../shared/months';
 import { groupById } from '../../shared/util';
 import {
   CategoryEntity,
@@ -27,6 +28,7 @@ import {
   convertFromSelect,
 } from '../aql';
 import {
+  toDateRepr,
   accountModel,
   categoryModel,
   categoryGroupModel,
@@ -544,7 +546,9 @@ export function getPayees() {
 }
 
 export function getCommonPayees() {
-  const threeMonthsAgo = '20240201';
+  const twelveWeeksAgo = toDateRepr(
+    monthUtils.subWeeks(monthUtils.currentDate(), 12),
+  );
   const limit = 10;
   return all(`
     SELECT     p.id as id, p.name as name, p.favorite as favorite,
@@ -552,10 +556,11 @@ export function getCommonPayees() {
     count(*) as c, 
     max(t.date) as latest
     FROM payees p
-    LEFT JOIN v_transactions t on t.payee == p.id
+    LEFT JOIN v_transactions_internal_alive t on t.payee == p.id
     WHERE LENGTH(p.name) > 0
+    AND p.tombstone = 0
+    AND t.date > ${twelveWeeksAgo}
     GROUP BY p.id
-    HAVING latest > ${threeMonthsAgo}
     ORDER BY c DESC ,p.transfer_acct IS NULL DESC, p.name 
     COLLATE NOCASE
     LIMIT ${limit}
diff --git a/upcoming-release-notes/3318.md b/upcoming-release-notes/3318.md
new file mode 100644
index 0000000000000000000000000000000000000000..7dbb8e41cb7ed108fceb7e8ab685e85596cfef34
--- /dev/null
+++ b/upcoming-release-notes/3318.md
@@ -0,0 +1,6 @@
+---
+category: Bugfix
+authors: [qedi-r]
+---
+
+Fix display of deleted payees in suggested payee list