diff --git a/analyzer/report_master/report_master_service.cc b/analyzer/report_master/report_master_service.cc
index 6259b2b..d0b6dcb 100644
--- a/analyzer/report_master/report_master_service.cc
+++ b/analyzer/report_master/report_master_service.cc
@@ -287,7 +287,7 @@
     options.pem_key_cert_pairs.back().cert_chain = std::move(tls_server_cert);
     server_credentials = grpc::SslServerCredentials(options);
   } else {
-    LOG(WARNING) << "Using insecure server credentials becuase -use_tls=false.";
+    LOG(WARNING) << "Using insecure server credentials because -use_tls=false.";
     server_credentials = grpc::InsecureServerCredentials();
   }
 
diff --git a/config/analyzer_config_manager.cc b/config/analyzer_config_manager.cc
index 06caf52..e76735a 100644
--- a/config/analyzer_config_manager.cc
+++ b/config/analyzer_config_manager.cc
@@ -8,6 +8,7 @@
 #include <spawn.h>
 #include <sys/types.h>
 #include <sys/wait.h>
+#include <unistd.h>
 #include <fstream>
 #include <memory>
 #include <mutex>
@@ -84,6 +85,7 @@
       std::shared_ptr<AnalyzerConfigManager>(new AnalyzerConfigManager(
           std::move(config), FLAGS_cobalt_config_proto_path,
           FLAGS_config_update_repository_url, FLAGS_config_parser_bin_path));
+  manager->Update(120);
   return manager;
 }
 
@@ -95,23 +97,26 @@
 
   LOG(INFO) << "Updating configuration from " << update_repository_path_;
 
+  std::string timeout_seconds_str = std::to_string(timeout_seconds);
   const char* argv[] = {
-      config_parser_bin_path_.c_str(),         "-repo_url",
-      update_repository_path_.c_str(),         "-output_file",
-      cobalt_config_proto_path_.c_str(),       "-git_timeout",
-      std::to_string(timeout_seconds).c_str(), nullptr,
+      config_parser_bin_path_.c_str(),   "-repo_url",
+      update_repository_path_.c_str(),   "-output_file",
+      cobalt_config_proto_path_.c_str(), "-git_timeout",
+      timeout_seconds_str.c_str(),       nullptr,
   };
-  char* env[] = {};
   pid_t pid;
   posix_spawnattr_t spawnattr;
   posix_spawnattr_init(&spawnattr);
 
+  errno = 0;
+  // The variable "environ" is the current environment found in unistd.h.
   int status = posix_spawn(&pid, config_parser_bin_path_.c_str(), nullptr,
-                           &spawnattr, const_cast<char* const*>(argv), env);
+                           &spawnattr, const_cast<char* const*>(argv), environ);
 
   if (0 != status) {
     LOG_STACKDRIVER_COUNT_METRIC(ERROR, kUpdateFailure)
-        << "Error spawning config_parser at " << config_parser_bin_path_;
+        << "Error spawning config_parser at " << config_parser_bin_path_
+        << " with error: " << strerror(errno);
     return false;
   }
   LOG(INFO) << "Spawned " << config_parser_bin_path_;
diff --git a/kubernetes/report_master/report_master_deployment.yaml b/kubernetes/report_master/report_master_deployment.yaml
index 440957c..5c23724 100644
--- a/kubernetes/report_master/report_master_deployment.yaml
+++ b/kubernetes/report_master/report_master_deployment.yaml
@@ -66,7 +66,7 @@
           # copied in Dockerfile.
           - '/usr/local/bin/config_parser'
           - '-config_update_repository_url'
-          - '"$$REPORT_MASTER_CONFIG_UPDATE_REPO_URL$$"'
+          - '$$REPORT_MASTER_CONFIG_UPDATE_REPO_URL$$'
           - $$REPORT_MASTER_ENABLE_REPORT_SCHEDULING_FLAG$$
           # This configures the AuthEnforcer.
           - '-googlers_only'
