diff --git a/gstlal-ugly/bin/gstlal_etg_pipe b/gstlal-ugly/bin/gstlal_etg_pipe
index 1809ad3dc5ecfe9deff327e031ace363436783ea..9026f030497e86c379a66abf2567f5d538f68f7c 100755
--- a/gstlal-ugly/bin/gstlal_etg_pipe
+++ b/gstlal-ugly/bin/gstlal_etg_pipe
@@ -156,6 +156,7 @@ def etg_node_gen(gstlalETGJob, dag, parent_nodes, segsdict, ifo, options, channe
 			cumsum_rates += n_rates
 			outstr = outstr + channel + ":" + str(int(samp_rate))
 			channel_list.append(channel + " " + str(int(samp_rate)))
+			outpath = os.path.join(options.out_path, "gstlal_etg")
 
 			# Adds channel to current process
 			if cumsum_rates < n_threads and ii < len(data_source_info.channel_dict.keys()):
@@ -164,7 +165,6 @@ def etg_node_gen(gstlalETGJob, dag, parent_nodes, segsdict, ifo, options, channe
 			# Finalise each process once number of threads passes threshold
 			if cumsum_rates >= n_threads or ii == len(data_source_info.channel_dict.keys()):
 				out_index += 1
-				outpath = options.out_path + "/gstlal_etg/gstlal_etg_%04d" %(out_index)
 				etg_nodes[channel] = \
 					inspiral_pipe.generic_node(gstlalETGJob, dag, parent_nodes = parent_nodes,
 						opts = {"gps-start-time":int(seg[0]),
@@ -176,6 +176,7 @@ def etg_node_gen(gstlalETGJob, dag, parent_nodes, segsdict, ifo, options, channe
 							"mismatch":options.mismatch,
 							"qhigh":options.qhigh,
 							"cadence":options.cadence,
+							"job-id": out_index,
 							"disable-web-service":"",
 							"frame-segments-name": options.frame_segments_name,
 							"save-hdf": options.save_hdf