diff --git a/guix/build/download.scm b/guix/build/download.scm
index a3105ad..ce16092 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -349,7 +349,30 @@ Return the resulting target URI."
       (Accept . "*/*")))
 
   (let*-values (((connection)
-                 (open-connection-for-uri uri))
+                 (if post-2.0.7?
+                     ;; open-socket-for-uri in Guile > 2.0.7 won't do an
+                     ;; NSS lookup if we specify a port in the uri, so we
+                     ;; can force the port to the uri-scheme default here
+                     ;; and then call open-socket-for-uri, which as of
+                     ;; Guile 2.0.10 also supports proxies
+                     (let ((uri (build-uri
+                                 (uri-scheme uri)
+                                 #:userinfo (uri-userinfo uri)
+                                 #:host (uri-host uri)
+                                 #:port (or (uri-port uri)
+                                            (case (uri-scheme uri)
+                                              ((http) 80)
+                                              ((https) 443)
+                                              (else
+                                               (error "unsupported URI scheme"
+                                                      (uri-scheme uri)))))
+                                 #:path (uri-path uri)
+                                 #:query (uri-query uri)
+                                 #:fragment (uri-fragment uri))))
+                       (open-socket-for-uri uri))
+                     ;; Guile older than 2.0.7 still needs our modified
+                     ;; open-connection-for-uri for bootstrapping
+                     (open-connection-for-uri uri)))
                 ((resp bv-or-port)
                  ;; XXX: `http-get*' was introduced in 2.0.7, and replaced by
                  ;; #:streaming? in 2.0.8.  We know we're using it within the
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index cced1bd..601b6c6 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -36,8 +36,9 @@
   #:use-module (srfi srfi-34)
   #:use-module (srfi srfi-35)
   #:use-module ((guix build download)
-                #:select (maybe-expand-mirrors
-                          open-connection-for-uri))
+                #:select (maybe-expand-mirrors))
+  #:use-module ((web client)
+                #:select (open-socket-for-uri))
   #:use-module (web request)
   #:use-module (web response)
   #:use-module (srfi srfi-1)
@@ -232,7 +233,7 @@ response from URI, and additional details, such as the actual HTTP response."
       ((or 'http 'https)
        (catch #t
          (lambda ()
-           (let ((port    (open-connection-for-uri uri))
+           (let ((port    (open-socket-for-uri uri))
                  (request (build-request uri #:headers headers)))
              (define response
                (dynamic-wind
