diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 7baef6ae5d..904a8cacfe 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5004,11 +5004,10 @@ (define-public libshumate
 as OpenStreetMap, OpenCycleMap, OpenAerialMap and Maps.")
     (license license:lgpl2.1+)))
 
-;;; A minimal version of libsoup used to prevent a cycle with Inkscape.
-(define-public libsoup-minimal
+(define-public libsoup-minimal-2
   (package
     (name "libsoup-minimal")
-    (version "3.0.7")
+    (version "2.74.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/libsoup/"
@@ -5016,34 +5015,40 @@ (define-public libsoup-minimal
                                   "libsoup-" version ".tar.xz"))
               (sha256
                (base32
-                "1j7p3cz6hwi9js9rp0pbas7cdln97yg9v2l1nv5imhcr6p7r1pzb"))))
+                "04rgv6hkyhgi7lak9865yxgbgky6gc635p7w6nhcbj64rx0prdz4"))))
     (build-system meson-build-system)
     (arguments
-     `(#:configure-flags '("-Dgtk_doc=false")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'adjust-tests
-           (lambda _
-             ;; This test fails due to missing /etc/nsswitch.conf
-             ;; in the build environment.
-             (substitute* "tests/socket-test.c"
-               ((".*/sockets/unconnected.*") ""))
-
-             ;; These fail because "subdomain.localhost" does not resolve in
-             ;; the build environment.  Moreover, the hsts-test suite fails on
-             ;; i686-linux because of errors from `session_get_uri' like
-             ;; "Unexpected status 200 OK (expected 301 Moved Permanently)"
-             ;; (see: https://gitlab.gnome.org/GNOME/libsoup/-/issues/239).
-             (substitute* "tests/meson.build"
-               ((".*'name': 'hsts'.*") ""))
-             (substitute* "tests/hsts-db-test.c"
-               ((".*/hsts-db/subdomains.*") "")))))))
+     (list
+      #:configure-flags #~'("-Dgtk_doc=false")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'adjust-tests
+            (lambda _
+              ;; This test fails due to missing /etc/nsswitch.conf
+              ;; in the build environment.
+              (substitute* "tests/socket-test.c"
+                ((".*/sockets/unconnected.*") ""))
+
+              ;; These fail because "subdomain.localhost" does not resolve in
+              ;; the build environment.  Moreover, the hsts-test suite fails on
+              ;; i686-linux because of errors from `session_get_uri' like
+              ;; "Unexpected status 200 OK (expected 301 Moved Permanently)"
+              ;; (see: https://gitlab.gnome.org/GNOME/libsoup/-/issues/239).
+              (substitute* "tests/meson.build"
+                ((".*'name': 'hsts'.*") ""))
+              (substitute* "tests/hsts-db-test.c"
+                ((".*/hsts-db/subdomains.*") ""))
+
+              ;; Disable the SSL test, failing since 2.68 and resolved in
+              ;; libsoup 3.
+              (substitute* "tests/meson.build"
+                (("[ \t]*\\['ssl', true, \\[\\]\\],") "")))))))
     (native-inputs
      (list `(,glib "bin") ;for glib-mkenums
            gobject-introspection
            pkg-config
            python-wrapper
-           vala
+           vala-0.52
            curl
            gnutls ;for 'certtool'
            httpd/pinned))
@@ -5067,35 +5072,8 @@ (define-public libsoup-minimal
 and the GLib main loop, to integrate well with GNOME applications.")
     (license license:lgpl2.0+)))
 
-;;; An older variant kept to build the 'rest' package.
-(define-public libsoup-minimal-2
-  (package
-    (inherit libsoup-minimal)
-    (version "2.74.3")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnome/sources/libsoup/"
-                                  (version-major+minor version) "/"
-                                  "libsoup-" version ".tar.xz"))
-              (sha256
-               (base32
-                "04rgv6hkyhgi7lak9865yxgbgky6gc635p7w6nhcbj64rx0prdz4"))))
-    (arguments
-     (substitute-keyword-arguments (package-arguments libsoup-minimal)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'unpack 'disable-failing-tests
-             (lambda _
-               ;; Disable the SSL test, failing since 2.68 and resolved in
-               ;; libsoup 3.
-               (substitute* "tests/meson.build"
-                 (("[ \t]*\\['ssl', true, \\[\\]\\],") ""))))))))
-    (native-inputs
-     (modify-inputs (package-native-inputs libsoup-minimal)
-       (replace "vala" vala-0.52)))))
-
 (define-public libsoup
-  (package/inherit libsoup-minimal
+  (package/inherit libsoup-minimal-2
     (name "libsoup")
     (version "3.4.4")
     (source (origin
@@ -5106,9 +5084,9 @@ (define-public libsoup
               (sha256
                (base32
                 "1an5n2sa70f40my4g20lk38s5ib99c32bzzg8gm91v9nbxr6f719"))))
-    (outputs (cons "doc" (package-outputs libsoup-minimal)))
+    (outputs (cons "doc" (package-outputs libsoup-minimal-2)))
     (arguments
-     (substitute-keyword-arguments (package-arguments libsoup-minimal)
+     (substitute-keyword-arguments (package-arguments libsoup-minimal-2)
        ((#:configure-flags configure-flags)
         #~(delete "-Dgtk_doc=false" #$configure-flags))
        ((#:phases phases)
@@ -5134,8 +5112,9 @@ (define-public libsoup
                 (mkdir-p (string-append #$output:doc "/share"))
                 (rename-file (string-append #$output "/share/doc")
                              (string-append #$output:doc "/share/doc"))))))))
-    (native-inputs (modify-inputs (package-native-inputs libsoup-minimal)
-                     (prepend gettext-minimal gi-docgen)))))
+    (native-inputs (modify-inputs (package-native-inputs libsoup-minimal-2)
+                     (prepend gettext-minimal gi-docgen)
+                     (replace "vala" vala)))))
 
 (define-public libsecret
   (package
@@ -6789,7 +6768,7 @@ (define-public rhythmbox
            libpeas
            libsecret
            libmtp
-           libsoup-minimal
+           libsoup
            libxml2
            lirc
            pango
diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm
index cbeccdb402..d766979070 100644
--- a/gnu/packages/mastodon.scm
+++ b/gnu/packages/mastodon.scm
@@ -131,7 +131,7 @@ (define-public tuba
            json-glib
            libadwaita
            libgee
-           libsoup-minimal
+           libsoup
            libsecret
            libwebp
            libxml2
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 1c5bc4bbd7..54ae080463 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1110,7 +1110,7 @@ (define-public python-nbxmpp
     (inputs
      (list glib
            glib-networking
-           libsoup-minimal
+           libsoup
            python-gssapi
            python-idna
            python-precis-i18n
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 486244e154..e6d8eb9ab9 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -2170,7 +2170,7 @@ (define-public gnuais
      `(("alsa-lib" ,alsa-lib)
        ("curl" ,curl)
        ("gtk+" ,gtk+)
-       ("libsoup" ,libsoup-minimal)
+       ("libsoup" ,libsoup)
        ("mariadb-lib" ,mariadb "lib")
        ("osm-gps-map" ,osm-gps-map)
        ("pulseaudio" ,pulseaudio)))
