diff --git a/gstlal-inspiral/python/dags/layers/inspiral.py b/gstlal-inspiral/python/dags/layers/inspiral.py
index 2a53ef22c369bffa4ac7b3eb1af051f4ab557098..612e460d4babaa3b0b43209cf891915b947e8d99 100644
--- a/gstlal-inspiral/python/dags/layers/inspiral.py
+++ b/gstlal-inspiral/python/dags/layers/inspiral.py
@@ -213,7 +213,6 @@ def filter_layer(config, dag, ref_psd_cache, svd_bank_cache):
 			Option("gps-start-time", int(start)),
 			Option("gps-end-time", int(end)),
 			Option("channel-name", dagutil.format_ifo_args(ifos, config.source.channel_name)),
-			Option("frame-type", dagutil.format_ifo_args(ifos, config.source.frame_type)),
 		]
 		if config.source.frame_cache:
 			filter_opts.append(Option("frame-cache", config.source.frame_cache, track=False))
@@ -317,7 +316,6 @@ def filter_injections_layer(config, dag, ref_psd_cache, svd_bank_cache):
 			Option("gps-start-time", int(start)),
 			Option("gps-end-time", int(end)),
 			Option("channel-name", dagutil.format_ifo_args(ifos, config.source.channel_name)),
-			Option("frame-type", dagutil.format_ifo_args(ifos, config.source.frame_type)),
 		]
 		if config.source.frame_cache:
 			filter_opts.append(Option("frame-cache", config.source.frame_cache, track=False))
diff --git a/gstlal/python/config/__init__.py b/gstlal/python/config/__init__.py
index 3eb2c60693c9047fbb67f8357d73a067f017db34..adf39f2b60f2e4ae3fed1a70672cc59cb38d951b 100644
--- a/gstlal/python/config/__init__.py
+++ b/gstlal/python/config/__init__.py
@@ -92,17 +92,20 @@ class Config:
 			self.data = dotdict(replace_keys(kwargs["data"]))
 		if "frames" in kwargs:
 			self.frames = dotdict(replace_keys(kwargs["frames"]))
+		if "segments" in kwargs:
+			self.segments = dotdict(replace_keys(kwargs["segments"]))
+		if "injections" in kwargs:
+			self.injections = dotdict(replace_keys(kwargs["injections"]))
 
 		# condor options
-		condor_config = replace_keys(kwargs["condor"])
-		self.condor = dotdict(condor_config)
+		self.condor = dotdict(replace_keys(kwargs["condor"]))
 
 		# file transfer installed by default
 		if self.condor.transfer_files is None:
 			self.condor.transfer_files = True
 
 		self.condor.submit = self.create_condor_submit_options(
-			condor_config,
+			self.condor,
 			x509_proxy=self.source.x509_proxy,
 		)
 
@@ -233,4 +236,8 @@ class dotdict(dict):
 
 
 def replace_keys(dict_):
-	return {k.replace("-", "_"): v for k, v in dict_.items()}
+	out = dict(dict_)
+	for k, v in out.items():
+		if isinstance(v, dict):
+			out[k] = replace_keys(v)
+	return {k.replace("-", "_"): v for k, v in out.items()}