diff --git a/pulsar/managers/staging/post.py b/pulsar/managers/staging/post.py
index 2fe6d06f166eea1261c3a4133c2a4deec4c252e4..ebe4bc6ac90635d8f958aa8c819909b318394ce8 100644
--- a/pulsar/managers/staging/post.py
+++ b/pulsar/managers/staging/post.py
@@ -44,6 +44,9 @@ def __collect_outputs(job_directory, staging_config, action_executor):
 
 def realized_dynamic_file_sources(job_directory):
     launch_config = job_directory.load_metadata("launch_config")
+    if launch_config is None:
+        log.warning(f"Failed to load launch_config from: {job_directory.job_directory}")
+        return []
     dynamic_file_sources = launch_config.get("dynamic_file_sources")
     realized_dynamic_file_sources = []
     for dynamic_file_source in (dynamic_file_sources or []):