diff --git a/src/cli.rs b/src/cli.rs
index 28e3d7a..102b878 100644
--- a/src/cli.rs
+++ b/src/cli.rs
@@ -1850,11 +1850,13 @@ impl<'a> BirliContext<'a> {
 #[cfg(test)]
 #[cfg(feature = "aoflagger")]
 mod tests {
+    use approx::{assert_abs_diff_eq, assert_abs_diff_ne};
     use tempfile::tempdir;
 
     use crate::{
-        test_common::get_1254670392_avg_paths, test_common::get_mwax_data_paths, BirliContext,
-        VisSelection,
+        passband_gains::{PFB_COTTER_2014_10KHZ, PFB_JAKE_2022_200HZ},
+        test_common::{get_1254670392_avg_paths, get_mwax_data_paths},
+        BirliContext, VisSelection,
     };
 
     #[test]
@@ -1975,6 +1977,56 @@ mod tests {
         assert!(flag_ctx.flag_dc);
     }
 
+    /// pfb gains is cotter by default for legacy correlator.
+    #[test]
+    fn test_auto_pfb_legacy() {
+        let (metafits_path, gpufits_paths) = get_1254670392_avg_paths();
+
+        #[rustfmt::skip]
+        let args = vec![
+            "birli",
+            "-m", metafits_path,
+            "--no-draw-progress",
+            gpufits_paths[0],
+            gpufits_paths[1],
+        ];
+
+        let BirliContext { prep_ctx, .. } = BirliContext::from_args(&args).unwrap();
+
+        assert!(prep_ctx.passband_gains.is_some());
+        assert_abs_diff_eq!(
+            prep_ctx.passband_gains.unwrap()[0],
+            PFB_COTTER_2014_10KHZ[0]
+        );
+        // santiy check
+        assert_abs_diff_ne!(prep_ctx.passband_gains.unwrap()[0], PFB_JAKE_2022_200HZ[0]);
+    }
+
+    /// pfb gains is jake by default for mwax correlator.
+    #[test]
+    fn test_auto_pfb_mwax() {
+        let (metafits_path, gpufits_paths) = get_mwax_data_paths();
+
+        #[rustfmt::skip]
+        let args = vec![
+            "birli",
+            "-m", metafits_path,
+            "--no-draw-progress",
+            gpufits_paths[0],
+            gpufits_paths[1],
+        ];
+
+        let BirliContext { prep_ctx, .. } = BirliContext::from_args(&args).unwrap();
+
+        assert!(prep_ctx.passband_gains.is_some());
+        assert_abs_diff_eq!(prep_ctx.passband_gains.unwrap()[0], PFB_JAKE_2022_200HZ[0]);
+        // santiy check
+        assert_abs_diff_ne!(
+            prep_ctx.passband_gains.unwrap()[0],
+            PFB_COTTER_2014_10KHZ[0]
+        );
+    }
+
     /// DC flagging is off by default for MWAX inputs.
     #[test]
     fn test_no_automatic_dc_flagging() {