diff --git a/gstlal-inspiral/bin/gstlal_inspiral_calc_snr b/gstlal-inspiral/bin/gstlal_inspiral_calc_snr
index 1afacb58c54723827a2df04ff1e279dca3824e31..b449d7ca540eabdd476db2175186f14ea6ef7941 100755
--- a/gstlal-inspiral/bin/gstlal_inspiral_calc_snr
+++ b/gstlal-inspiral/bin/gstlal_inspiral_calc_snr
@@ -47,6 +47,7 @@ Typical Usages:
 	--sample-rate (default = 2048Hz)
 	--f-low (default = 10)
 	--f-high (optional)
+	--template-psd (require)
 
 	3. PSD / Whiten options:
 	--reference-psd (optional)
@@ -124,13 +125,15 @@ def parse_command_line():
 	group.add_option("--sample-rate", metavar = "Hz", default = 2048, type = "int", help = "Sampling rate of the template and SNR for mode 1")
 	group.add_option("--f-low", metavar = "Hz", default = 10, type = "float", help = "The minimum frequency of GW signal")
 	group.add_option("--f-high", metavar = "Hz", type = "float", help = "The maximum frequency of GW signal")
+	group.add_option("--template-psd", metavar = "filename", help = "The psd for whitening template (require).")
 	parser.add_option_group(group)
 
-	group = OptionGroup(parser, "Data Quality Options", "Adjust data quality handling")
-	group.add_option("--ht-gate-threshold", metavar= "sigma", type = "float", default = float("inf"), help = "Set the threshold on whitened h(t) to excise glitches in units of standard deviation (optional)")
-	group.add_option("--veto-segments-file", metavar = "filename", help = "Set the name of the LIGO light-weight XML file from which to load vetoes (optional).")
-	group.add_option("--veto-segments-name", metavar = "name", default = "vetoes", help = "Set the name of the LIGO light-weight XML file from which to load vetoes (default = 'veto') (optional).")
-	parser.add_option_group(group)
+	# FIXME: implement it if needed
+	#group = OptionGroup(parser, "Data Quality Options", "Adjust data quality handling")
+	#group.add_option("--ht-gate-threshold", metavar= "sigma", type = "float", default = float("inf"), help = "Set the threshold on whitened h(t) to excise glitches in units of standard deviation (optional)")
+	#group.add_option("--veto-segments-file", metavar = "filename", help = "Set the name of the LIGO light-weight XML file from which to load vetoes (optional).")
+	#group.add_option("--veto-segments-name", metavar = "name", default = "vetoes", help = "Set the name of the LIGO light-weight XML file from which to load vetoes (default = 'veto') (optional).")
+	#parser.add_option_group(group)
 
 	group = OptionGroup(parser, "Output Control Options", "Control SNR output")
 	group.add_option("--outdir", metavar = "directory", type = "str", help = "Output directory for SNR(s) (requires).")
@@ -208,6 +211,8 @@ def parse_command_line():
 			missing_required_options.append("--instrument")
 		if options.template_duration is None:
 			missing_required_options.append("--template-duration")
+		if options.template_psd is None:
+			missing_required_options.append("--template-psd")
 		# Raise VauleError is required option(s) is/are missing
 		if missing_required_options:
 			raise ValueError("Missing required option(s) %s" % ", ".join(sorted(missing_required_options)))
@@ -217,10 +222,11 @@ def parse_command_line():
 		if len(row) != 1 :
 			raise ValueError("Expecting only one template for --instrument=%s or cannot find template for --instrument=%s" %(options.instrument, options.instrument))
 
+		template_psd = lal.series.read_psd_xmldoc(ligolw_utils.load_url(options.template_psd, contenthandler = lal.series.PSDContentHandler))
+
 		# work around for building a single whitened template
 		time_slice = numpy.array([(options.sample_rate, 0, options.template_duration)], dtype = [("rate", "int"),("begin", "float"), ("end", "float")])
-		# FIXME: psd[options.instrument] is bad
-		workspace = cbc_template_fir.templates_workspace(template_table, options.approximant, psd[options.instrument], options.f_low, time_slice, autocorrelation_length = None, fhigh = options.f_high)
+		workspace = cbc_template_fir.templates_workspace(template_table, options.approximant, template_psd[options.instrument], options.f_low, time_slice, autocorrelation_length = None, fhigh = options.f_high)
 		template, autocorrelation, sigma = workspace.make_whitened_template(row[0])
 
 		return options, gw_data_source_info, template, psd