diff --git a/gnu/local.mk b/gnu/local.mk
index 69be1a07c7..da573addc9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1299,6 +1299,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gmp-faulty-test.patch			\
   %D%/packages/patches/gnash-fix-giflib-version.patch	        \
   %D%/packages/patches/gnome-2048-fix-positional-argument.patch	\
+  %D%/packages/patches/gnome-control-center-firmware-security.patch	\
   %D%/packages/patches/gnome-control-center-libexecdir.patch	\
   %D%/packages/patches/gnome-online-miners-tracker-3.patch	\
   %D%/packages/patches/gnome-settings-daemon-gc.patch		\
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index ad118090eb..acc30db425 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9003,7 +9003,7 @@ (define-public gnome-bluetooth
 (define-public gnome-control-center
   (package
     (name "gnome-control-center")
-    (version "42.4")
+    (version "44.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -9011,7 +9011,10 @@ (define-public gnome-control-center
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1ln5rch6zbfh3vl2nnnmw39bylgg38rin6xp7ra0ra4ay3wv3gvs"))))
+                "0yhcm0c0ghkfqswqlkwcln3jpaz6jzvqaph2c3lgmv635w2nash6"))
+              (patches
+               (search-patches
+                "gnome-control-center-firmware-security.patch"))))
     (build-system meson-build-system)
     (arguments
      (list
@@ -9036,18 +9039,17 @@ (define-public gnome-control-center
                 (("\"nm-connection-editor")
                  (string-append "\"" (search-input-file
                                       inputs "bin/nm-connection-editor"))))
-              (substitute* "panels/user-accounts/run-passwd.c"
-                (("/usr/bin/passwd")
-                 "/run/setuid-programs/passwd"))
-              (substitute* "panels/info-overview/cc-info-overview-panel.c"
-                (("DATADIR \"/gnome/gnome-version.xml\"")
-                 (format #f "~s" (search-input-file
-                                  inputs "share/gnome/gnome-version.xml"))))))
+
+              ;; This test wants to connect to the system dbus session
+              (substitute* "tests/meson.build"
+                (("subdir\\('network'\\)")
+                 "# subdir('network')"))))
           (add-after 'unpack 'skip-gtk-update-icon-cache
             ;; Don't create 'icon-theme.cache'.
             (lambda _
-              (substitute* "build-aux/meson/meson_post_install.py"
-                (("gtk-update-icon-cache") (which "true"))))))))
+              (substitute* "meson.build"
+                (("gtk_update_icon_cache: true")
+                 "gtk_update_icon_cache: false")))))))
     (native-inputs
      (list docbook-xsl
            gettext-minimal
@@ -9056,7 +9058,8 @@ (define-public gnome-control-center
            pkg-config
            python
            python-dbusmock
-           xorg-server-for-tests))
+           xorg-server-for-tests
+           setxkbmap))
     (inputs
      (list accountsservice
            colord-gtk
diff --git a/gnu/packages/patches/gnome-control-center-firmware-security.patch b/gnu/packages/patches/gnome-control-center-firmware-security.patch
new file mode 100644
index 0000000000..fd9d7b8ff4
--- /dev/null
+++ b/gnu/packages/patches/gnome-control-center-firmware-security.patch
@@ -0,0 +1,33 @@
+From: Jeremy Bicha <jeremy.bicha@canonical.com>
+Date: Mon, 22 Aug 2022 08:31:15 -0400
+Subject: firmware-security: Disable
+
+Not yet useful enough to justify its inclusion by default here
+
+You can get the same info by running
+fwupdmgr security
+
+If you drop this patch, add a Depends: fwupd [linux-any]
+
+https://launchpad.net/bugs/1987162
+
+https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1938
+
+[Stolen from the debian package]
+---
+ shell/cc-panel-loader.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
+index 17f9601..1b819a5 100644
+--- a/shell/cc-panel-loader.c
++++ b/shell/cc-panel-loader.c
+@@ -113,7 +113,7 @@ static CcPanelLoaderVtable default_panels[] =
+   PANEL_TYPE("info-overview",    cc_info_overview_panel_get_type,        NULL),
+   PANEL_TYPE("keyboard",         cc_keyboard_panel_get_type,             NULL),
+   PANEL_TYPE("location",         cc_location_panel_get_type,             NULL),
+-  PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type,    cc_firmware_security_panel_static_init_func),
++  // PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type,    cc_firmware_security_panel_static_init_func),
+   PANEL_TYPE("microphone",       cc_microphone_panel_get_type,           NULL),
+   PANEL_TYPE("mouse",            cc_mouse_panel_get_type,                NULL),
+   PANEL_TYPE("multitasking",     cc_multitasking_panel_get_type,         NULL),
