diff --git a/share/translations/keepassxc_en.ts b/share/translations/keepassxc_en.ts
index 99b1eef2b..f9f746ffb 100644
--- a/share/translations/keepassxc_en.ts
+++ b/share/translations/keepassxc_en.ts
@@ -656,6 +656,10 @@
Default sequence
Default sequence
+
+ (empty)
+
+
AutoTypeMatchModel
diff --git a/src/core/Entry.cpp b/src/core/Entry.cpp
index 6feb2624c..c79207150 100644
--- a/src/core/Entry.cpp
+++ b/src/core/Entry.cpp
@@ -328,7 +328,7 @@ QList Entry::autoTypeSequences(const QString& windowTitle) const
const auto assocList = autoTypeAssociations()->getAll();
for (const auto& assoc : assocList) {
auto window = resolveMultiplePlaceholders(assoc.window);
- if (windowMatches(window)) {
+ if (!assoc.window.isEmpty() && windowMatches(window)) {
if (!assoc.sequence.isEmpty()) {
sequenceList << assoc.sequence;
} else {
diff --git a/src/gui/entry/AutoTypeAssociationsModel.cpp b/src/gui/entry/AutoTypeAssociationsModel.cpp
index fadd4fa1a..6e7b08bc0 100644
--- a/src/gui/entry/AutoTypeAssociationsModel.cpp
+++ b/src/gui/entry/AutoTypeAssociationsModel.cpp
@@ -92,6 +92,9 @@ QVariant AutoTypeAssociationsModel::data(const QModelIndex& index, int role) con
if (role == Qt::DisplayRole) {
if (index.column() == 0) {
QString window = m_autoTypeAssociations->get(index.row()).window;
+ if (window.isEmpty()) {
+ return tr("(empty)");
+ }
if (m_entry) {
window = m_entry->maskPasswordPlaceholders(window);
window = m_entry->resolveMultiplePlaceholders(window);