diff --git a/bridges/relays/bin-substrate/src/chains/millau_messages_to_rialto_parachain.rs b/bridges/relays/bin-substrate/src/chains/millau_messages_to_rialto_parachain.rs
index 5dbe1d69d1346ff75649a40cb505efb135d4dfeb..8fedd22a40abe9832a8b11bd7fd8fd6d3ddaec3e 100644
--- a/bridges/relays/bin-substrate/src/chains/millau_messages_to_rialto_parachain.rs
+++ b/bridges/relays/bin-substrate/src/chains/millau_messages_to_rialto_parachain.rs
@@ -18,8 +18,9 @@
 
 use relay_millau_client::Millau;
 use relay_rialto_parachain_client::RialtoParachain;
-use substrate_relay_helper::messages_lane::{
-	DirectReceiveMessagesDeliveryProofCallBuilder, SubstrateMessageLane,
+use substrate_relay_helper::{
+	messages_lane::{DirectReceiveMessagesDeliveryProofCallBuilder, SubstrateMessageLane},
+	UtilityPalletBatchCallBuilder,
 };
 
 substrate_relay_helper::generate_receive_message_proof_call_builder!(
@@ -45,6 +46,6 @@ impl SubstrateMessageLane for MillauMessagesToRialtoParachain {
 		millau_runtime::WithRialtoParachainMessagesInstance,
 	>;
 
-	type SourceBatchCallBuilder = ();
+	type SourceBatchCallBuilder = UtilityPalletBatchCallBuilder<Millau>;
 	type TargetBatchCallBuilder = ();
 }
diff --git a/bridges/relays/messages/src/message_race_loop.rs b/bridges/relays/messages/src/message_race_loop.rs
index 2988ab231d93277fa65afe9e093543e9e83d98e9..3d995a0a3620e4c12e49379786db1886fbe75e46 100644
--- a/bridges/relays/messages/src/message_race_loop.rs
+++ b/bridges/relays/messages/src/message_race_loop.rs
@@ -573,17 +573,14 @@ pub async fn run<P: MessageRace, SC: SourceClient<P>, TC: TargetClient<P>>(
 			if let Some((at_block, nonces_range, proof)) = race_state.nonces_to_submit.as_ref() {
 				log::debug!(
 					target: "bridge",
-					"Going to submit proof of messages in range {:?} to {} node",
+					"Going to submit proof of messages in range {:?} to {} node{}",
 					nonces_range,
 					P::target_name(),
+					target_batch_transaction.as_ref().map(|tx| format!(
+						". This transaction is batched with sending the proof for header {:?}.",
+						tx.required_header_id())
+					).unwrap_or_default(),
 				);
-				if let Some(ref target_batch_transaction) = target_batch_transaction {
-					log::debug!(
-						target: "bridge",
-						"This transaction is batched with sending the proof for header {:?}.",
-						target_batch_transaction.required_header_id(),
-					);
-				}
 
 				target_submit_proof.set(
 					race_target