diff --git a/meta-gnome/recipes-support/accountsservice/accountsservice/0002-musl-add-missing-fgetspent_r.patch b/meta-gnome/recipes-support/accountsservice/accountsservice/0002-musl-add-missing-fgetspent_r.patch
deleted file mode 100644
index dfc27b7302..0000000000
--- a/meta-gnome/recipes-support/accountsservice/accountsservice/0002-musl-add-missing-fgetspent_r.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 87c5c711f6f828053abd754628a0067696cfd54d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Mon, 9 Dec 2019 09:36:12 +0100
-Subject: [PATCH] musl: add missing fgetspent_r
-
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-
-Stolen from void-linux
-
-Upstream-Status: Inappropriate [musl-specific]
----
- src/daemon.c | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/src/daemon.c b/src/daemon.c
-index aa9d050..cc53eae 100644
---- a/src/daemon.c
-+++ b/src/daemon.c
-@@ -215,6 +215,28 @@ remove_cache_files (const gchar *user_name)
-         g_remove (icon_filename);
- }
- 
-+#ifndef __GLIBC__
-+ /* Musl libc does not support fgetspent_r(), write own
-+  * wrapper
-+  */
-+static int fgetspent_r(FILE *fp, struct spwd *spbuf, char *buf, size_t buflen, struct spwd **spbufp) {
-+       struct spwd *shadow_entry = fgetspent(fp);
-+       if(!shadow_entry)
-+               return -1;
-+       size_t namplen = strlen(shadow_entry->sp_namp);
-+       size_t pwdplen = strlen(shadow_entry->sp_pwdp);
-+
-+       if(namplen + pwdplen + 2 > buflen)
-+               return -1;
-+
-+       *spbufp = memcpy(spbuf, shadow_entry, sizeof(struct spwd));
-+       spbuf->sp_namp = strncpy(buf, shadow_entry->sp_namp, namplen + 1);
-+       spbuf->sp_pwdp = strncpy(buf + namplen + 1, shadow_entry->sp_pwdp, pwdplen + 1);
-+
-+       return 0;
-+}
-+#endif
-+
- static struct passwd *
- entry_generator_fgetpwent (Daemon       *daemon,
-                            GHashTable   *users,
diff --git a/meta-gnome/recipes-support/accountsservice/accountsservice/00b6e12ad4044d33cc54c71c75773c5a653dad09.patch b/meta-gnome/recipes-support/accountsservice/accountsservice/00b6e12ad4044d33cc54c71c75773c5a653dad09.patch
deleted file mode 100644
index d7b6525934..0000000000
--- a/meta-gnome/recipes-support/accountsservice/accountsservice/00b6e12ad4044d33cc54c71c75773c5a653dad09.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From 747d781c1ccf3b8112ec6a098f23f26ccadc5880 Mon Sep 17 00:00:00 2001
-From: oreo639 <oreo6391@gmail.com>
-Date: Sun, 9 Feb 2025 23:24:08 -0800
-Subject: [PATCH] build: Disable tests when cross compiling and allow
-
- specifying path_wtmp
- 
-Upstream-Status: Backport [https://gitlab.freedesktop.org/accountsservice/accountsservice/-/commit/00b6e12ad4044d33cc54c71c75773c5a653dad09]
-
-Signed-off-by: Markus Volk <f_l_k@t-online.de>
----
- meson.build       | 64 ++++++++++++++++++++++++++---------------------
- meson_options.txt |  2 ++
- 2 files changed, 38 insertions(+), 28 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 4a509e7..2a56627 100644
---- a/meson.build
-+++ b/meson.build
-@@ -77,34 +77,40 @@ foreach func: check_functions
-   config_h.set('HAVE_' + func.underscorify().to_upper(), cc.has_function(func))
- endforeach
- 
--if cc.has_header_symbol('utmpx.h', 'WTMPX_FILENAME', prefix: '#define _GNU_SOURCE')
--  code = '''#define _GNU_SOURCE
--  #include <stdio.h>
--  #include <utmpx.h>
--  int main (int argc, char **argv) {
--    printf ("%s\n", WTMPX_FILENAME);
--    return 0;
--  }
--  '''
--  result = cc.run(code, name : 'value of WTMPX_FILENAME')
--  path_wtmp = result.stdout().strip()
--
--  config_h.set('PATH_WTMP', 'WTMPX_FILENAME')
--elif cc.has_header_symbol('paths.h', '_PATH_WTMPX')
--  code = '''#include <paths.h>
--  #include <stdio.h>
--  int main (int argc, char **argv) {
--    printf ("%s\n", _PATH_WTMPX);
--    return 0;
--  }
--  '''
--  result = cc.run(code, name : 'value of _PATH_WTMPX')
--  path_wtmp = result.stdout().strip()
--
--  config_h.set('PATH_WTMP', '_PATH_WTMPX')
-+path_wtmp = get_option('wtmpfile')
-+if path_wtmp == ''
-+  if cc.has_header_symbol('utmpx.h', 'WTMPX_FILENAME', prefix: '#define _GNU_SOURCE') and meson.can_run_host_binaries()
-+    code = '''#define _GNU_SOURCE
-+    #include <stdio.h>
-+    #include <utmpx.h>
-+    int main (int argc, char **argv) {
-+      printf ("%s\n", WTMPX_FILENAME);
-+      return 0;
-+    }
-+    '''
-+    result = cc.run(code, name : 'value of WTMPX_FILENAME')
-+    path_wtmp = result.stdout().strip()
-+
-+    config_h.set('PATH_WTMP', 'WTMPX_FILENAME')
-+  elif cc.has_header_symbol('paths.h', '_PATH_WTMPX') and meson.can_run_host_binaries()
-+    code = '''#include <paths.h>
-+    #include <stdio.h>
-+    int main (int argc, char **argv) {
-+      printf ("%s\n", _PATH_WTMPX);
-+      return 0;
-+    }
-+    '''
-+    result = cc.run(code, name : 'value of _PATH_WTMPX')
-+    path_wtmp = result.stdout().strip()
-+
-+    config_h.set('PATH_WTMP', '_PATH_WTMPX')
-+  else
-+    assert(not meson.is_cross_build(), 'Cannot determine wtmp for this cross compile, please specify -Dwtmpfile=')
-+    path_wtmp = '/var/log/utx.log'
-+    assert(run_command('test', '-e', path_wtmp, check: false).returncode() == 0, 'Do not know which filename to watch for wtmp changes')
-+    config_h.set_quoted('PATH_WTMP', path_wtmp)
-+  endif
- else
--  path_wtmp = '/var/log/utx.log'
--  assert(run_command('test', '-e', path_wtmp, check: false).returncode() == 0, 'Do not know which filename to watch for wtmp changes')
-   config_h.set_quoted('PATH_WTMP', path_wtmp)
- endif
- 
-@@ -232,7 +238,9 @@ if get_option('gtk_doc')
-   subdir('doc/libaccountsservice')
- endif
- 
--subdir('tests')
-+if get_option('tests') and meson.can_run_host_binaries()
-+  subdir('tests')
-+endif
- 
- configure_file(
-   output: 'config.h',
-diff --git a/meson_options.txt b/meson_options.txt
-index b34a0fa..e25c61e 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,6 +1,7 @@
- option('systemdsystemunitdir', type: 'string', value: '', description: 'custom directory for systemd system units')
- option('gdmconffile', type: 'string', value: '/etc/gdm/custom.conf', description: 'GDM configuration file')
- option('lightdmconffile', type: 'string', value: '/etc/lightdm/lightdm.conf', description: 'LightDM configuration file')
-+option('wtmpfile', type: 'string', value: '', description: 'override filepath of wtmp file')
- 
- option('admin_group', type: 'string', value: '', description: 'Set group for administrative accounts')
- option('extra_admin_groups', type: 'array', value: [], description: 'Comma-separated list of extra groups that administrator users are part of')
-@@ -13,3 +14,4 @@ option('vapi', type: 'boolean', value: true, description : 'Enable Vala bindings
- 
- option('docbook', type: 'boolean', value: false, description: 'build documentation (requires xmlto)')
- option('gtk_doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation')
-+option('tests',   type: 'boolean', value: true, description: 'run accountservice tests if possible')
diff --git a/meta-gnome/recipes-support/accountsservice/accountsservice/accountsservice-23.13.9-c99-fixes.patch b/meta-gnome/recipes-support/accountsservice/accountsservice/accountsservice-23.13.9-c99-fixes.patch
deleted file mode 100644
index ffb6ffca18..0000000000
--- a/meta-gnome/recipes-support/accountsservice/accountsservice/accountsservice-23.13.9-c99-fixes.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 97ff4512ea17600d390d67b59e6d0058d1b0b7d5 Mon Sep 17 00:00:00 2001
-From: Ray Strode <rstrode@redhat.com>
-Date: Tue, 11 Apr 2023 10:09:07 -0400
-Subject: [PATCH] mocklibc: Fix compiler warning
-
-https://bugs.gentoo.org/930715
-https://gitlab.freedesktop.org/accountsservice/accountsservice/-/commit/da65bee12d9118fe1a49c8718d428fe61d232339
-
-print_indent is defined in one file and used in another without a
-forward declaration. That leads to a compiler warning/error.
-
-This commit fixes that.
-
-Upstream-Status: Backport [https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-apps/accountsservice/files/accountsservice-23.13.9-c99-fixes.patch]
-
-Signed-off-by: Markus Volk <f_l_k@t-online.de>
----
- subprojects/mocklibc.wrap                           |  2 ++
- subprojects/packagefiles/mocklibc-print-indent.diff | 13 +++++++++++++
- 2 files changed, 15 insertions(+)
- create mode 100644 subprojects/packagefiles/mocklibc-print-indent.diff
-
-diff --git a/subprojects/mocklibc.wrap b/subprojects/mocklibc.wrap
-index af82298..539ee83 100644
---- a/subprojects/mocklibc.wrap
-+++ b/subprojects/mocklibc.wrap
-@@ -8,3 +8,5 @@ source_hash = b2236a6af1028414783e9734a46ea051916ec226479d6a55a3bb823bff68f120
- patch_url = https://wrapdb.mesonbuild.com/v1/projects/mocklibc/1.0/2/get_zip
- patch_filename = mocklibc-1.0-2-wrap.zip
- patch_hash = 0280f96a2eeb3c023e5acf4e00cef03d362868218d4a85347ea45137c0ef6c56
-+
-+diff_files = mocklibc-print-indent.diff
-diff --git a/subprojects/packagefiles/mocklibc-print-indent.diff b/subprojects/packagefiles/mocklibc-print-indent.diff
-new file mode 100644
-index 0000000..4aaed40
---- /dev/null
-+++ b/subprojects/packagefiles/mocklibc-print-indent.diff
-@@ -0,0 +1,13 @@
-+diff -up mocklibc-1.0/src/netgroup-debug.c.print-indent mocklibc-1.0/src/netgroup-debug.c
-+--- mocklibc-1.0/src/netgroup-debug.c.print-indent	2023-04-11 10:20:53.717381559 -0400
-++++ mocklibc-1.0/src/netgroup-debug.c	2023-04-11 10:21:02.296270333 -0400
-+@@ -21,6 +21,9 @@
-+ #include <stdio.h>
-+ #include <stdlib.h>
-+ 
-++void print_indent (FILE        *stream,
-++                   unsigned int indent);
-++
-+ void netgroup_debug_print_entry(struct entry *entry, FILE *stream, unsigned int indent) {
-+   print_indent(stream, indent);
-+ 
diff --git a/meta-gnome/recipes-support/accountsservice/accountsservice_23.13.9.bb b/meta-gnome/recipes-support/accountsservice/accountsservice_26.27.3.bb
similarity index 76%
rename from meta-gnome/recipes-support/accountsservice/accountsservice_23.13.9.bb
rename to meta-gnome/recipes-support/accountsservice/accountsservice_26.27.3.bb
index 79870608a3..4a95d1410e 100644
--- a/meta-gnome/recipes-support/accountsservice/accountsservice_23.13.9.bb
+++ b/meta-gnome/recipes-support/accountsservice/accountsservice_26.27.3.bb
@@ -15,19 +15,11 @@ inherit meson gobject-introspection gtk-doc features_check systemd vala pkgconfi
 
 REQUIRED_DISTRO_FEATURES = "polkit"
 
-SRC_URI = " \
-	https://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz \
-	file://accountsservice-23.13.9-c99-fixes.patch \
-	file://00b6e12ad4044d33cc54c71c75773c5a653dad09.patch \
-"
-SRC_URI:append:libc-musl = " \
-	file://0002-musl-add-missing-fgetspent_r.patch \
-"
+SRC_URI = "git://gitlab.freedesktop.org/${BPN}/${BPN}.git;protocol=https;branch=main;tag=${PV}"
+SRCREV = "4e254d9624cc48224c9920b9509df0b144f7be0c"
 
 EXTRA_OEMESON:append:libc-musl = " -Dwtmpfile=/var/log/wtmp -Dtests=false"
 
-SRC_URI[sha256sum] = "adda4cdeae24fa0992e7df3ffff9effa7090be3ac233a3edfdf69d5a9c9b924f"
-
 UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/accountsservice/accountsservice/-/tags"
 UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
 
