diff --git a/gstlal/python/multirate_datasource.py b/gstlal/python/multirate_datasource.py
index 47cc50fa6b965080c3969a166126afe465057b01..63a3cf5347cc1673d81069b4b5bd911450f3a975 100644
--- a/gstlal/python/multirate_datasource.py
+++ b/gstlal/python/multirate_datasource.py
@@ -162,6 +162,9 @@ def mkwhitened_multirate_src(pipeline, src, rates, instrument, psd = None, psd_f
 
 	if psd is None and not track_psd:
 		raise ValueError("must enable track_psd when psd is None")
+	if int(psd_fft_length) != psd_fft_length:
+		raise ValueError("psd_fft_length must be an integer")
+	psd_fft_length = int(psd_fft_length)
 
 	#
 	# set default whitener zero-padding if needed