diff --git a/src/download-via-ssh/download-via-ssh.cc b/src/download-via-ssh/download-via-ssh.cc
index ac0f5826dd28291079c3a56166781febbd2eb408..3f6f07f87d8bb58963d39bbeda3b637f73445ab1 100644
--- a/src/download-via-ssh/download-via-ssh.cc
+++ b/src/download-via-ssh/download-via-ssh.cc
@@ -94,11 +94,13 @@ static void query(std::pair<FdSink, FdSource> & pipes)
 int main(int argc, char * * argv)
 {
     return handleExceptions(argv[0], [&]() {
-        initNix();
-
         if (argc < 2)
             throw UsageError("download-via-ssh requires an argument");
 
+        initNix();
+
+        settings.update();
+
         if (settings.sshSubstituterHosts.empty())
             return;