diff --git a/mpsd-software-environment.py b/mpsd-software-environment.py
index 3fccf77a2c98fef6baf28d41e2be35c05721bc91..a5809bbfa1dbb2cfa2956c81a742a3f1d9e93d68 100755
--- a/mpsd-software-environment.py
+++ b/mpsd-software-environment.py
@@ -736,10 +736,8 @@ def prepare_environment(mpsd_release: str, root_dir: Path) -> List[str]:
     release_base_dir.mkdir(parents=True, exist_ok=True)
     repo_path = release_base_dir / "spack-environments"
     if repo_path.exists():
-        logging.debug(f"directory {repo_path} exists already, not touching")
-        logging.debug(
-            "XXX TODO: should we run a git pull here to get the latest version? XXX"
-        )
+        logging.debug(f"directory {repo_path} exists already, will update")
+        run(["git", "pull", "-v"], capture_output=True)
     else:
         repo_url = config_vars["spack_environments_repo"]
         logging.info(f"cloning repository {repo_path} from {repo_url}")