diff --git a/desktop/handlers/main.yml b/desktop/handlers/main.yml
index 4b75f19e71bc7667aca7f1e08971f32d3d2557d1..2ac96153469fd5b9cba33b8daeed73edaa35992d 100644
--- a/desktop/handlers/main.yml
+++ b/desktop/handlers/main.yml
@@ -12,3 +12,8 @@
 - name: reload systemd service files
   systemd:
     daemon_reload: true
+
+- name: update-desktop-database
+  # noqa no-changed-when
+  # This is a handler and by nature already only run when required.
+  command: update-desktop-database
diff --git a/desktop/tasks/kde.yml b/desktop/tasks/kde.yml
index c69c815666fabededdbca808d350d4693f266e2d..d9ec0e2ebd99eeeef285fa00a8ce4821095321b4 100644
--- a/desktop/tasks/kde.yml
+++ b/desktop/tasks/kde.yml
@@ -1,5 +1,28 @@
 ---
 
+- name: Install desktop-file-utils for update-desktop-database
+  apt:
+    name: desktop-file-utils
+  tags:
+    - kde
+    - desktop
+
+- name: Nuke Konqueror
+  community.general.dpkg_divert:
+    path: "{{ item }}"
+    divert: "{{ item }}.disabled"
+    rename: true
+  loop:
+    - /usr/share/applications/kfmclient_html.desktop
+    - /usr/share/applications/kfmclient_war.desktop
+    - /usr/share/applications/konqbrowser.desktop
+    - /usr/share/metainfo/org.kde.konqueror.appdata.xml
+  notify:
+    - update-desktop-database
+  tags:
+    - kde
+    - desktop
+
 - name: Install KDE packages
   apt:
     name: