diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 8a9e24a..8a478ba 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -5442,6 +5442,48 @@
 	setverdict(pass);
 }
 
+/* Verify hopping parameters in the INFO.ind message (version >= 10) */
+testcase TC_pcu_info_ind_fh_params() runs on test_CT {
+	var PCUIF_info_ind info_ind;
+	var ConnHdlrPars pars;
+
+	f_init();
+
+	info_ind := g_pcu_last_info.u.info_ind;
+
+	for (var integer i := 0; i < mp_transceiver_num; i := i + 1) {
+		for (var integer tn := 0; tn < 8; tn := tn + 1) {
+			if (info_ind.trx.v10[i].pdch_mask[tn] != '1'B) {
+				/* Skip inactive timeslots */
+				continue;
+			}
+
+			pars := valueof(t_Pars(t_RslChanNr_PDCH(tn), ts_RSL_ChanMode_SIGN));
+			if (mp_freq_hop_enabled and mp_transceiver_num > 1)
+				{ f_resolve_fh_params(pars); }
+
+			var template PCUIF_InfoTrxTs tr_ts;
+			if (ispresent(pars.maio_hsn)) {
+				tr_ts := tr_PCUIF_InfoTrxTsH1(
+						hsn := pars.maio_hsn.hsn,
+						maio := pars.maio_hsn.maio,
+						ma := f_pad_bit(pars.ma_map.ma, 64, '0'B));
+			} else {
+				tr_ts := tr_PCUIF_InfoTrxTsH0;
+			}
+
+			var PCUIF_InfoTrxTs ts := info_ind.trx.v10[i].ts[tn];
+			log("Checking timeslot #", tn, " of trx#", i, ": ", ts);
+			if (not match(ts, tr_ts)) {
+				setverdict(fail, "Hopping parameters do not match: ",
+					   "received ", ts, " vs expected ", tr_ts);
+			} else {
+				setverdict(pass);
+			}
+		}
+	}
+}
+
 /***********************************************************************
  * Osmocom Style Dynamic Timeslot Support
  ***********************************************************************/
@@ -6844,6 +6886,9 @@
 		execute( TC_dyn_ipa_pdch_act_deact() );
 		execute( TC_dyn_ipa_pdch_act_tchf_act_nack() );
 
+		if (PCUIF_Types.mp_pcuif_version >= 10) {
+			execute( TC_pcu_info_ind_fh_params() );
+		}
 	} else {
 		log("PCU socket path not available, skipping PCU tests");
 	}
