diff --git a/guix/upstream.scm b/guix/upstream.scm
index 22187311ea6f0e33899ea6df6d7cfbea5b726ba5..2334c4c0a645076597eec9e4448e543e0a29ad24 100644
--- a/guix/upstream.scm
+++ b/guix/upstream.scm
@@ -241,7 +241,7 @@ (define* (package-update store package updaters
                    ((archive-type)
                     (match (and=> (package-source package) origin-uri)
                       ((? string? uri)
-                       (file-extension uri))
+                       (file-extension (basename uri)))
                       (_
                        "gz")))
                    ((url signature-url)