diff --git a/gstlal-calibration/bin/gstlal_compute_strain b/gstlal-calibration/bin/gstlal_compute_strain
index b0e82947153d70997eeb5c804b724371714c9c00..518a988f9be7e5602fc39729c0fd9efce608c462 100755
--- a/gstlal-calibration/bin/gstlal_compute_strain
+++ b/gstlal-calibration/bin/gstlal_compute_strain
@@ -294,8 +294,7 @@ expected_kappauim_real = float(TDCFConfigs["expectedkappauimreal"])
 expected_kappauim_imag = float(TDCFConfigs["expectedkappauimimag"])
 expected_kappac = float(TDCFConfigs["expectedkappac"])
 expected_fcc = float(TDCFConfigs["expectedfcc"]) if "expectedfcc" in TDCFConfigs else 0.0
-expected_fs = float(TDCFConfigs["expectedfs"]) if "expectedfs" in TDCFConfigs else 0.0
-expected_srcq = float(TDCFConfigs["expectedsrcq"]) if "expectedsrcq" in TDCFConfigs else 0.0
+# Note: fs and Q are handled later due to the fact that they are handled as complex values
 kappatst_real_var = float(TDCFConfigs["kappatstrealvar"])
 kappatst_imag_var = float(TDCFConfigs["kappatstimagvar"])
 kappapu_real_var = float(TDCFConfigs["kappapurealvar"])
@@ -491,16 +490,30 @@ except:
 	fcc_default = expected_fcc
 	if fcc_default == 0.0:
 		print("Warning: Could not find expected fcc in filters file or config file.  Setting to zero.")
-try:
-	fs_default = float(filters["fs"])
-	srcQ_default = float(filters["srcQ"])
-except:
-	fs_default = expected_fs
-	if fs_default == 0:
-		print("Warning: Could not find expected fs in filters file or config file.  Setting to zero.")
-	srcQ_default = expected_srcq
-	if srcQ_default == 0:
-		print("Warning: Could not find expected srcQ in filters file or config file.  Setting to zero.")
+if "fs_squared" in filters:
+	fs_squared_default = float(filters["fs_squared"])
+elif "expectedfs_squared" in TDCFConfigs:
+	fs_squared_default = float(TDCFConfigs["expectedfs_squared"])
+elif "fs" in filters:
+	fs_squared_default = pow(float(filters["fs"]), 2)
+elif "expectedfs" in TDCFConfigs:
+	fs_squared_default = pow(float(TDCFConfigs["expectedfs"]), 2)
+else:
+	print("Warning: Could not find expected fs in filters file or config file.  Setting to zero.")
+	fs_squared_default = 0
+
+fs_default = numpy.sqrt(complex(fs_squared_default))
+
+if "srcQ" in filters:
+	srcQ_default = complex(filters["srcQ"])
+elif "expectedsrcq" in TDCFConfigs:
+	srcQ_default = complex(TDCFConfigs["srcQ"])
+else:
+	print("Warning: Could not find expected srcQ in filters file or config file.  Setting to zero.")
+	srcQ_default = 0 + 0j
+
+if fs_squared_default < 0:
+	srcQ_default = 1j * srcQ_default
 
 # Load kappa dewhitening factors
 if dewhitening:
@@ -1474,9 +1487,9 @@ if compute_kappac or compute_fcc or compute_fs or compute_srcq:
 
 # compute f_s and Q
 if compute_fs or compute_srcq:
-	expected_Xi = complex((fs_default * fs_default - 1j * src_pcal_line_freq * fs_default / srcQ_default) / (src_pcal_line_freq * src_pcal_line_freq))
-	Xi_real_var = float((pow(fs_default + fs_var, 2) - pow(fs_default, 2.0)) / pow(src_pcal_line_freq, 2))
-	Xi_imag_var = float(fs_var / (srcQ_default * src_pcal_line_freq))
+	expected_Xi = complex((fs_squared_default - 1j * src_pcal_line_freq * fs_default / srcQ_default) / (src_pcal_line_freq * src_pcal_line_freq))
+	Xi_real_var = float((pow(abs(fs_default) + fs_var, 2.0) - pow(abs(fs_default), 2.0)) / pow(src_pcal_line_freq, 2))
+	Xi_imag_var = float(fs_var / (abs(srcQ_default) * src_pcal_line_freq))
 
 	# demodulate PCAL channel and apply the PCAL correction factor at SRC detuning line frequency
 	if src_pcal_line_freq == act_pcal_line_freq:
@@ -1549,40 +1562,47 @@ if compute_fs or compute_srcq:
 		smooth_XiR, smooth_XiI = calibration_parts.split_into_real(pipeline, smooth_Xi)
 		smooth_XiR_nogate, smooth_XiI_nogate = calibration_parts.split_into_real(pipeline, smooth_Xi_nogate)
 
-	smooth_sqrtXiR = calibration_parts.mkpow(pipeline, smooth_XiR, exponent = 0.5)
-	smooth_sqrtXiR_nogate = calibration_parts.mkpow(pipeline, smooth_XiR_nogate, exponent = 0.5)
-
 	if compute_fs and compute_srcq:
-		smooth_sqrtXiR = pipeparts.mktee(pipeline, smooth_sqrtXiR)
-		smooth_sqrtXiR_nogate = pipeparts.mktee(pipeline, smooth_sqrtXiR_nogate)
+		smooth_XiR = pipeparts.mktee(pipeline, smooth_XiR)
+		smooth_XiR_nogate = pipeparts.mktee(pipeline, smooth_XiR_nogate)
 
 	# compute f_s
 	if compute_fs:
-		smooth_fs = pipeparts.mkaudioamplify(pipeline, smooth_sqrtXiR, src_pcal_line_freq)
-		smooth_fs_nogate = pipeparts.mkaudioamplify(pipeline, smooth_sqrtXiR_nogate, src_pcal_line_freq)
+		smooth_fs_squared_almost = pipeparts.mkaudioamplify(pipeline, smooth_XiR, src_pcal_line_freq)
+		smooth_fs_squared = pipeparts.mkaudioamplify(pipeline, smooth_fs_squared_almost, src_pcal_line_freq)
+		smooth_fs_squared_almost_nogate = pipeparts.mkaudioamplify(pipeline, smooth_XiR_nogate, src_pcal_line_freq)
+		smooth_fs_squared_nogate = pipeparts.mkaudioamplify(pipeline, smooth_fs_squared_almost_nogate, src_pcal_line_freq)
 		if src_pcal_line_freq == act_pcal_line_freq and "pcal1_linefreq" in head_dict:
-			head_dict["pcal1_linefreq"].connect("notify::current-average", calibration_parts.update_property_simple, smooth_fs, "current_average", "amplification")
-			head_dict["pcal1_linefreq"].connect("notify::current-average", calibration_parts.update_property_simple, smooth_fs_nogate, "current_average", "amplification")
+			head_dict["pcal1_linefreq"].connect("notify::current-average", calibration_parts.update_property_simple, smooth_fs_squared_almost, "current_average", "amplification")
+			head_dict["pcal1_linefreq"].connect("notify::current-average", calibration_parts.update_property_simple, smooth_fs_squared, "current_average", "amplification")
+			head_dict["pcal1_linefreq"].connect("notify::current-average", calibration_parts.update_property_simple, smooth_fs_squared_almost_nogate, "current_average", "amplification")
+			head_dict["pcal1_linefreq"].connect("notify::current-average", calibration_parts.update_property_simple, smooth_fs_squared_nogate, "current_average", "amplification")
 		elif src_pcal_line_freq != act_pcal_line_freq and "pcal4_linefreq" in head_dict:
-			head_dict["pcal4_linefreq"].connect("notify::current-average", calibration_parts.update_property_simple, smooth_fs, "current_average", "amplification")
-			head_dict["pcal4_linefreq"].connect("notify::current-average", calibration_parts.update_property_simple, smooth_fs_nogate, "current_average", "amplification")
+			head_dict["pcal4_linefreq"].connect("notify::current-average", calibration_parts.update_property_simple, smooth_fs_squared_almost, "current_average", "amplification")
+			head_dict["pcal4_linefreq"].connect("notify::current-average", calibration_parts.update_property_simple, smooth_fs_squared, "current_average", "amplification")
+			head_dict["pcal4_linefreq"].connect("notify::current-average", calibration_parts.update_property_simple, smooth_fs_squared_almost_nogate, "current_average", "amplification")
+			head_dict["pcal4_linefreq"].connect("notify::current-average", calibration_parts.update_property_simple, smooth_fs_squared_nogate, "current_average", "amplification")
 
-		if compute_calib_statevector or apply_fs:
-			smooth_fs = pipeparts.mktee(pipeline, smooth_fs)
+		smooth_fs_squared = pipeparts.mktee(pipeline, smooth_fs_squared)
 
 	# compute SRC Q_inv
 	if compute_srcq:
-		smooth_sqrtXiR_inv = calibration_parts.mkpow(pipeline, smooth_sqrtXiR, exponent = -1.0)
-		smooth_sqrtXiR_inv_nogate = calibration_parts.mkpow(pipeline, smooth_sqrtXiR_nogate, exponent = -1.0)
-		smooth_srcQ_inv = calibration_parts.mkmultiplier(pipeline, calibration_parts.list_srcs(pipeline, smooth_sqrtXiR_inv, pipeparts.mkaudioamplify(pipeline, smooth_XiI, -1.0)))
-		smooth_srcQ_inv_nogate = calibration_parts.mkmultiplier(pipeline, calibration_parts.list_srcs(pipeline, smooth_sqrtXiR_inv_nogate, pipeparts.mkaudioamplify(pipeline, smooth_XiI_nogate, -1.0)))
+		smooth_sqrtXiR_inv = calibration_parts.mkpow(pipeline, pipeparts.mktogglecomplex(pipeline, pipeparts.mkmatrixmixer(pipeline, smooth_XiR, matrix = [[1.0, 0.0]])), exponent = -0.5)
+		smooth_sqrtXiR_inv_nogate = calibration_parts.mkpow(pipeline, pipeparts.mktogglecomplex(pipeline, pipeparts.mkmatrixmixer(pipeline, smooth_XiR_nogate, matrix = [[1.0, 0.0]])), exponent = -0.5)
+		smooth_srcQ_inv = calibration_parts.mkmultiplier(pipeline, calibration_parts.list_srcs(pipeline, smooth_sqrtXiR_inv, pipeparts.mktogglecomplex(pipeline, pipeparts.mkmatrixmixer(pipeline, smooth_XiI, matrix = [[-1.0, 0.0]]))))
+		smooth_srcQ_inv_nogate = calibration_parts.mkmultiplier(pipeline, calibration_parts.list_srcs(pipeline, smooth_sqrtXiR_inv_nogate, pipeparts.mktogglecomplex(pipeline, pipeparts.mkmatrixmixer(pipeline, smooth_XiI_nogate, matrix = [[-1.0, 0.0]]))))
+
+		smooth_srcQ_inv = pipeparts.mktee(pipeline, smooth_srcQ_inv)
+		smooth_srcQ_inv_nogate = pipeparts.mktee(pipeline, smooth_srcQ_inv_nogate)
 
-		# We don't want to correct for Q < 0, since this is nonphysical and such a correction would most likely have the wrong frequency-dependence.
-		if apply_srcq:
-			smooth_srcQ_inv = pipeparts.mkgeneric(pipeline, smooth_srcQ_inv, "lal_insertgap", bad_data_intervals = [1e-35, 1e35], replace_value = 1e-35, insert_gap = False)
+		# We need a real-valued version of Q^(-1) to write the the frames.  If we have
+		# an optical spring, the computed Q^(-1) is imaginary, and if we have an optical
+		# antispring, the computed Q^(-1) is real.  To get a sensible real value either
+		# way AND INCLUDE ANY MINUS SIGN, we use Re(Q^(-1)) + Im(Q^(-1)).
+		smooth_srcQ_inv_real = calibration_parts.mkadder(pipeline, calibration_parts.list_srcs(pipeline, pipeparts.mkgeneric(pipeline, smooth_srcQ_inv, "creal"), pipeparts.mkgeneric(pipeline, smooth_srcQ_inv, "cimag")))
+		smooth_srcQ_inv_nogate = calibration_parts.mkadder(pipeline, calibration_parts.list_srcs(pipeline, pipeparts.mkgeneric(pipeline, smooth_srcQ_inv_nogate, "creal"), pipeparts.mkgeneric(pipeline, smooth_srcQ_inv_nogate, "cimag")))
 
-		if compute_calib_statevector or apply_srcq:
-			smooth_srcQ_inv = pipeparts.mktee(pipeline, smooth_srcQ_inv)
+		smooth_srcQ_inv_real = pipeparts.mktee(pipeline, smooth_srcQ_inv_real)
 
 #
 # TIME-VARYING FACTORS COMPENSATIONS
@@ -1624,8 +1644,13 @@ if apply_fcc or apply_fs or apply_srcq:
 	# There are two zeros that depend on fs and Q, both of which depend on both fs and Q
 	if apply_fs or apply_srcq:
 		variable_invsens_zeros += 2
-		static_invsens_poles.extend([(fs_default / 2.0) * (pow(srcQ_default, -1.0) + pow(pow(srcQ_default, -2.0) + 4.0, 0.5)), 0.0])
-		static_invsens_poles.extend([(fs_default / 2.0) * (pow(srcQ_default, -1.0) - pow(pow(srcQ_default, -2.0) + 4.0, 0.5)), 0.0])
+		SRC_pole1 = (fs_default / 2.0) * (pow(srcQ_default, -1.0) + pow(pow(srcQ_default, -2.0) + 4.0, 0.5))
+		SRC_pole2 = (fs_default / 2.0) * (pow(srcQ_default, -1.0) - pow(pow(srcQ_default, -2.0) + 4.0, 0.5))
+		static_invsens_poles.extend([numpy.real(SRC_pole1), numpy.imag(SRC_pole1)])
+		static_invsens_poles.extend([numpy.real(SRC_pole2), numpy.imag(SRC_pole2)])
+
+		smooth_fs = calibration_parts.mkpow(pipeline, pipeparts.mktogglecomplex(pipeline, pipeparts.mkmatrixmixer(pipeline, smooth_fs_squared, matrix = [[1.0, 0.0]])), exponent = 0.5)
+		smooth_fs = pipeparts.mktee(pipeline, smooth_fs)
 
 	if apply_fs and apply_srcq:
 		# The variable zeros depend on the computed values of fs and Q
@@ -1635,34 +1660,29 @@ if apply_fcc or apply_fs or apply_srcq:
 
 		SRC_zero1 = calibration_parts.mkadder(pipeline, calibration_parts.list_srcs(pipeline, smooth_srcQ_inv, sqrt_Q_inv_squared_plus4))
 		SRC_zero1 = calibration_parts.mkmultiplier(pipeline, calibration_parts.list_srcs(pipeline, SRC_zero1, smooth_fs))
-		SRC_zero1 = pipeparts.mkmatrixmixer(pipeline, SRC_zero1, matrix = [[0.5, 0.0]])
-		SRC_zero1 = pipeparts.mktogglecomplex(pipeline, SRC_zero1)
+		SRC_zero1 = calibration_parts.complex_audioamplify(pipeline, SRC_zero1, 0.5, 0.0)
 
-		SRC_zero2 = calibration_parts.mkadder(pipeline, calibration_parts.list_srcs(pipeline, smooth_srcQ_inv, pipeparts.mkaudioamplify(pipeline, sqrt_Q_inv_squared_plus4, -1.0)))
+		SRC_zero2 = calibration_parts.mkadder(pipeline, calibration_parts.list_srcs(pipeline, smooth_srcQ_inv, calibration_parts.complex_audioamplify(pipeline, sqrt_Q_inv_squared_plus4, -1.0, 0.0)))
 		SRC_zero2 = calibration_parts.mkmultiplier(pipeline, calibration_parts.list_srcs(pipeline, SRC_zero2, smooth_fs))
-		SRC_zero2 = pipeparts.mkmatrixmixer(pipeline, SRC_zero2, matrix = [[0.5, 0.0]])
-		SRC_zero2 = pipeparts.mktogglecomplex(pipeline, SRC_zero2)
+		SRC_zero2 = calibration_parts.complex_audioamplify(pipeline, SRC_zero2, 0.5, 0.0)
 
 		tdep_zpk.extend([SRC_zero1, SRC_zero2])
 
 		# This will be added into tdep_zpk at the end, as required by lal_adaptivefirfilt
-		variable_invsens_gain = pipeparts.mkaudioamplify(pipeline, calibration_parts.mkpow(pipeline, smooth_fs, exponent = 2.0), pow(fs_default, -2.0))
+		variable_invsens_gain = pipeparts.mkaudioamplify(pipeline, smooth_fs_squared, pow(fs_squared_default, -1.0))
 
 	elif apply_fs:
 		# The variable zeros depend on the computed value of fs and the model value of Q
 		Q_factor1 = (pow(srcQ_default, -1.0) + pow(pow(srcQ_default, -2.0) + 4.0, 0.5)) / 2.0
 		Q_factor2 = (pow(srcQ_default, -1.0) - pow(pow(srcQ_default, -2.0) + 4.0, 0.5)) / 2.0
 
-		SRC_zero1 = pipeparts.mkmatrixmixer(pipeline, smooth_fs, matrix = [[Q_factor1, 0.0]])
-		SRC_zero1 = pipeparts.mktogglecomplex(pipeline, SRC_zero1)
-
-		SRC_zero2 = pipeparts.mkmatrixmixer(pipeline, smooth_fs, matrix = [[Q_factor2, 0.0]])
-		SRC_zero2 = pipeparts.mktogglecomplex(pipeline, SRC_zero2)
+		SRC_zero1 = calibration_parts.complex_audioamplify(pipeline, smooth_fs, numpy.real(Q_factor1), numpy.imag(Q_factor1))
+		SRC_zero2 = calibration_parts.complex_audioamplify(pipeline, smooth_fs, numpy.real(Q_factor2), numpy.imag(Q_factor2))
 
 		tdep_zpk.extend([SRC_zero1, SRC_zero2])
 
 		# This will be added into tdep_zpk at the end, as required by lal_adaptivefirfilt
-		variable_invsens_gain = pipeparts.mkaudioamplify(pipeline, calibration_parts.mkpow(pipeline, smooth_fs, exponent = 2.0), pow(fs_default, -2.0))
+		variable_invsens_gain = pipeparts.mkaudioamplify(pipeline, smooth_fs_squared, pow(fs_squared_default, -1.0))
 
 	elif apply_srcq:
 		# The variable zeros depend on the model value of fs and the computed value of Q
@@ -1671,12 +1691,10 @@ if apply_fcc or apply_fs or apply_srcq:
 		sqrt_Q_inv_squared_plus4 = pipeparts.mktee(pipeline, sqrt_Q_inv_squared_plus4)
 
 		SRC_zero1 = calibration_parts.mkadder(pipeline, calibration_parts.list_srcs(pipeline, smooth_srcQ_inv, sqrt_Q_inv_squared_plus4))
-		SRC_zero1 = pipeparts.mkmatrixmixer(pipeline, SRC_zero1, matrix = [[0.5 * fs_default, 0.0]])
-		SRC_zero1 = pipeparts.mktogglecomplex(pipeline, SRC_zero1)
+		SRC_zero1 = calibration_parts.complex_audioamplify(pipeline, SRC_zero1, 0.5 * numpy.real(fs_default), 0.5 * numpy.imag(fs_default))
 
-		SRC_zero2 = calibration_parts.mkadder(pipeline, calibration_parts.list_srcs(pipeline, smooth_srcQ_inv, pipeparts.mkaudioamplify(pipeline, sqrt_Q_inv_squared_plus4, -1.0)))
-		SRC_zero2 = pipeparts.mkmatrixmixer(pipeline, SRC_zero2, matrix = [[0.5 * fs_default, 0.0]])
-		SRC_zero2 = pipeparts.mktogglecomplex(pipeline, SRC_zero2)
+		SRC_zero2 = calibration_parts.mkadder(pipeline, calibration_parts.list_srcs(pipeline, smooth_srcQ_inv, calibration_parts.complex_audioamplify(pipeline, sqrt_Q_inv_squared_plus4, -1.0, 0.0)))
+		SRC_zero2 = calibration_parts.complex_audioamplify(pipeline, SRC_zero2, 0.5 * numpy.real(fs_default), 0.5 * numpy.imag(fs_default))
 
 		tdep_zpk.extend([SRC_zero1, SRC_zero2])
 
@@ -2293,13 +2311,13 @@ if compute_calib_statevector:
 	# FS BITS BRANCH
 	#
 	if compute_fs:
-		fsSmoothInRange = calibration_parts.compute_kappa_bits_only_real(pipeline, smooth_fs, fs_default, fs_var, median_smoothing_samples + int((sensing_filter_update_time + sensing_filter_averaging_time) * compute_factors_sr), factors_average_samples, status_out_smooth = pow(2,fs_smooth_bitnum), starting_rate = compute_factors_sr, ending_rate = calibstate_sr)
+		fsSmoothInRange = calibration_parts.compute_kappa_bits_only_real(pipeline, smooth_fs_squared, fs_squared_default, [-pow(abs(fs_default) + fs_var, 2), pow(abs(fs_default) + fs_var, 2)], median_smoothing_samples + int((sensing_filter_update_time + sensing_filter_averaging_time) * compute_factors_sr), factors_average_samples, status_out_smooth = pow(2,fs_smooth_bitnum), starting_rate = compute_factors_sr, ending_rate = calibstate_sr)
 
 	#
 	# SRCQ BITS BRANCH
 	#
 	if compute_srcq:
-		srcQSmoothInRange = calibration_parts.compute_kappa_bits_only_real(pipeline, smooth_srcQ_inv, 1.0 / srcQ_default, [srcQinv_min, srcQinv_max], median_smoothing_samples + int((sensing_filter_update_time + sensing_filter_averaging_time) * compute_factors_sr), factors_average_samples, status_out_smooth = pow(2,Qinv_smooth_bitnum), starting_rate = compute_factors_sr, ending_rate = calibstate_sr)
+		srcQSmoothInRange = calibration_parts.compute_kappa_bits_only_real(pipeline, smooth_srcQ_inv_real, 1.0 / (numpy.real(srcQ_default) + numpy.imag(srcQ_default)), [srcQinv_min, srcQinv_max], median_smoothing_samples + int((sensing_filter_update_time + sensing_filter_averaging_time) * compute_factors_sr), factors_average_samples, status_out_smooth = pow(2,Qinv_smooth_bitnum), starting_rate = compute_factors_sr, ending_rate = calibstate_sr)
 
 	#
 	# COHERENCE BITS BRANCH
@@ -2796,17 +2814,17 @@ if compute_fcc:
 
 # Resample the f_s channels at the specified recording sample rate and change it to a single precision channel
 if compute_fs:
-	fsout = pipeparts.mkaudioconvert(pipeline, smooth_fs)
-	fsout = calibration_parts.mkresample(pipeline, fsout, 1, False, record_kappa_caps)
-	fsout = pipeparts.mkprogressreport(pipeline, fsout, "progress_f_s_%s" % instrument)
+	fs_squared_out = pipeparts.mkaudioconvert(pipeline, smooth_fs_squared)
+	fs_squared_out = calibration_parts.mkresample(pipeline, fs_squared_out, 1, False, record_kappa_caps)
+	fs_squared_out = pipeparts.mkprogressreport(pipeline, fs_squared_out, "progress_f_s_squared_%s" % instrument)
 
-	smooth_fs_nogate = pipeparts.mkaudioconvert(pipeline, smooth_fs_nogate)
-	smooth_fs_nogate = calibration_parts.mkresample(pipeline, smooth_fs_nogate, 1, False, record_kappa_caps)
-	smooth_fs_nogate = pipeparts.mkprogressreport(pipeline, smooth_fs_nogate, "progress_f_s_nogate_%s" % instrument)
+	smooth_fs_squared_nogate = pipeparts.mkaudioconvert(pipeline, smooth_fs_squared_nogate)
+	smooth_fs_squared_nogate = calibration_parts.mkresample(pipeline, smooth_fs_squared_nogate, 1, False, record_kappa_caps)
+	smooth_fs_squared_nogate = pipeparts.mkprogressreport(pipeline, smooth_fs_squared_nogate, "progress_f_s_squared_nogate_%s" % instrument)
 
 # Resample the f_s channels at the specified recording sample rate and change it to a single precision channel
 if compute_srcq:
-	srcQ_inv_out = pipeparts.mkaudioconvert(pipeline, smooth_srcQ_inv)
+	srcQ_inv_out = pipeparts.mkaudioconvert(pipeline, smooth_srcQ_inv_real)
 	srcQ_inv_out = calibration_parts.mkresample(pipeline, srcQ_inv_out, 1, False, record_kappa_caps)
 	srcQ_inv_out = pipeparts.mkprogressreport(pipeline, srcQ_inv_out, "progress_SRC_Q_%s" % instrument)
 
@@ -2861,8 +2879,8 @@ if compute_fcc:
 	channelmux_input_dict["%s:%sCALIB_F_CC_NOGATE%s" % (instrument, chan_prefix, chan_suffix)] = calibration_parts.mkqueue(pipeline, smooth_fcc_nogate)
 # Link the f_s to the muxer
 if compute_fs:
-	channelmux_input_dict["%s:%sCALIB_F_S%s" % (instrument, chan_prefix, chan_suffix)] = calibration_parts.mkqueue(pipeline, fsout)
-	channelmux_input_dict["%s:%sCALIB_F_S_NOGATE%s" % (instrument, chan_prefix, chan_suffix)] = calibration_parts.mkqueue(pipeline, smooth_fs_nogate)
+	channelmux_input_dict["%s:%sCALIB_F_S_SQUARED%s" % (instrument, chan_prefix, chan_suffix)] = calibration_parts.mkqueue(pipeline, fs_squared_out)
+	channelmux_input_dict["%s:%sCALIB_F_S_SQUARED_NOGATE%s" % (instrument, chan_prefix, chan_suffix)] = calibration_parts.mkqueue(pipeline, smooth_fs_squared_nogate)
 # Link the src_Q to the muxer
 if compute_srcq:
 	channelmux_input_dict["%s:%sCALIB_SRC_Q_INVERSE%s" % (instrument, chan_prefix, chan_suffix)] = calibration_parts.mkqueue(pipeline, srcQ_inv_out)