diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index f12133fff7dc99f28262acf9189ca3f69ebcf7ec..42ff525524363407bc5a2d0e0b3df38c6973753d 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -123,7 +123,12 @@ (define builder
                          (compile-file file
                                        #:output-file go
                                        #:opts %auto-compilation-options))))
-                   (find-files out "\\.scm"))
+
+                   ;; XXX: Because of the autoload hack in (guix build
+                   ;; download), we must build it first to avoid errors since
+                   ;; (gnutls) is unavailable.
+                   (cons (string-append out "/guix/build/download.scm")
+                         (find-files out "\\.scm")))
 
          ;; Remove the "fake" (guix config).
          (delete-file (string-append out "/guix/config.scm"))