diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm
index d04a68524d157188ae14d697a1ff905220a8235b..647ef615e0fc100e918afb7d42dd3688e8d5e3b5 100644
--- a/guix/import/pypi.scm
+++ b/guix/import/pypi.scm
@@ -165,7 +165,7 @@ (define (make-pypi-sexp name version source-url home-page synopsis
              (version ,version)
              (source (origin
                        (method url-fetch)
-                       (uri (string-append ,@(factorize-uri source-url version)))
+                       (uri (pypi-uri ,name version))
                        (sha256
                         (base32
                          ,(guix-hash-url temp)))))
diff --git a/tests/pypi.scm b/tests/pypi.scm
index c772474b82946fe44030814923a86aba875ebf46..960b8cd32ad2fddf553e010b2943f93bb1829c10 100644
--- a/tests/pypi.scm
+++ b/tests/pypi.scm
@@ -84,8 +84,7 @@ (define test-requirements
          ('version "1.0.0")
          ('source ('origin
                     ('method 'url-fetch)
-                    ('uri ('string-append "https://example.com/foo-"
-                                          'version ".tar.gz"))
+                    ('uri (pypi-uri "foo" version))
                     ('sha256
                      ('base32
                       (? string? hash)))))