diff --git a/packages/desktop-client/src/components/autocomplete/NewPayeeAutocomplete.js b/packages/desktop-client/src/components/autocomplete/NewPayeeAutocomplete.js
index f381d2a365070a68f6e4621c3dcb9590c0ef4ed9..888217e6cfa3955e494e6811510a6d5480606f0a 100644
--- a/packages/desktop-client/src/components/autocomplete/NewPayeeAutocomplete.js
+++ b/packages/desktop-client/src/components/autocomplete/NewPayeeAutocomplete.js
@@ -85,21 +85,21 @@ export default function PayeeAutocomplete({
           ? allOptions.filter(item => value.includes(item.value))
           : allOptions.find(item => item.value === value)
       }
-      isValidNewOption={input => input && !focusTransferPayees}
+      isValidNewOption={input => {
+        if (focusTransferPayees || !input) {
+          return false;
+        }
+
+        const lowercaseInput = input.toLowerCase();
+        const hasExistingOption = allOptions.some(
+          option => option.label.toLowerCase() === lowercaseInput,
+        );
+
+        return !hasExistingOption;
+      }}
       isMulti={multi}
       onSelect={onSelect}
       onCreateOption={async selectedValue => {
-        const existingOption = allOptions.find(option =>
-          option.label.toLowerCase().includes(selectedValue?.toLowerCase()),
-        );
-
-        // Prevent creating duplicates
-        if (existingOption) {
-          onSelect(existingOption.value);
-          return;
-        }
-
-        // This is actually a new option, so create it
         onSelect(await dispatch(createPayee(selectedValue)));
       }}
       createOptionPosition="first"
diff --git a/upcoming-release-notes/881.md b/upcoming-release-notes/881.md
new file mode 100644
index 0000000000000000000000000000000000000000..6c3510c504eca28ccc2f0683dff43c2f512f88e5
--- /dev/null
+++ b/upcoming-release-notes/881.md
@@ -0,0 +1,6 @@
+---
+category: Bugfix
+authors: [MatissJanis]
+---
+
+Autocomplete: do not show "create payee" option if the typed-in payee is an exact match of an existing payee