diff --git a/substrate/utils/frame/benchmarking-cli/src/pallet/command.rs b/substrate/utils/frame/benchmarking-cli/src/pallet/command.rs
index d5dc6226ab9f0fbd9611e5d44395ed36c1f3c803..c6ba282401672335a6a72e698533a4af35670523 100644
--- a/substrate/utils/frame/benchmarking-cli/src/pallet/command.rs
+++ b/substrate/utils/frame/benchmarking-cli/src/pallet/command.rs
@@ -298,16 +298,23 @@ impl PalletCmd {
 		// Convert `Vec<u8>` to `String` for better readability.
 		let benchmarks_to_run: Vec<_> = benchmarks_to_run
 			.into_iter()
-			.map(|b| {
+			.map(|(pallet, extrinsic, components, pov_modes)| {
+				let pallet_name =
+					String::from_utf8(pallet.clone()).expect("Encoded from String; qed");
+				let extrinsic_name =
+					String::from_utf8(extrinsic.clone()).expect("Encoded from String; qed");
 				(
-					b.0,
-					b.1,
-					b.2,
-					b.3.into_iter()
+					pallet,
+					extrinsic,
+					components,
+					pov_modes
+						.into_iter()
 						.map(|(p, s)| {
 							(String::from_utf8(p).unwrap(), String::from_utf8(s).unwrap())
 						})
 						.collect(),
+					pallet_name,
+					extrinsic_name,
 				)
 			})
 			.collect();
@@ -329,12 +336,12 @@ impl PalletCmd {
 		let mut component_ranges = HashMap::<(Vec<u8>, Vec<u8>), Vec<ComponentRange>>::new();
 		let pov_modes = Self::parse_pov_modes(&benchmarks_to_run)?;
 
-		for (pallet, extrinsic, components, _) in benchmarks_to_run.clone() {
+		for (pallet, extrinsic, components, _, pallet_name, extrinsic_name) in
+			benchmarks_to_run.clone()
+		{
 			log::info!(
 				target: LOG_TARGET,
-				"Starting benchmark: {}::{}",
-				String::from_utf8(pallet.clone()).expect("Encoded from String; qed"),
-				String::from_utf8(extrinsic.clone()).expect("Encoded from String; qed"),
+				"Starting benchmark: {pallet_name}::{extrinsic_name}"
 			);
 			let all_components = if components.is_empty() {
 				vec![Default::default()]
@@ -415,12 +422,7 @@ impl PalletCmd {
 						)
 						.map_err(|e| format!("Failed to decode benchmark results: {:?}", e))?
 						.map_err(|e| {
-							format!(
-								"Benchmark {}::{} failed: {}",
-								String::from_utf8_lossy(&pallet),
-								String::from_utf8_lossy(&extrinsic),
-								e
-							)
+							format!("Benchmark {pallet_name}::{extrinsic_name} failed: {e}",)
 						})?;
 				}
 				// Do one loop of DB tracking.
@@ -494,11 +496,7 @@ impl PalletCmd {
 
 							log::info!(
 								target: LOG_TARGET,
-								"Running  benchmark: {}.{}({} args) {}/{} {}/{}",
-								String::from_utf8(pallet.clone())
-									.expect("Encoded from String; qed"),
-								String::from_utf8(extrinsic.clone())
-									.expect("Encoded from String; qed"),
+								"Running  benchmark: {pallet_name}::{extrinsic_name}({} args) {}/{} {}/{}",
 								components.len(),
 								s + 1, // s starts at 0.
 								all_components.len(),
@@ -707,12 +705,14 @@ impl PalletCmd {
 			Vec<u8>,
 			Vec<(BenchmarkParameter, u32, u32)>,
 			Vec<(String, String)>,
+			String,
+			String,
 		)>,
 	) -> Result<PovModesMap> {
 		use std::collections::hash_map::Entry;
 		let mut parsed = PovModesMap::new();
 
-		for (pallet, call, _components, pov_modes) in benchmarks {
+		for (pallet, call, _components, pov_modes, _, _) in benchmarks {
 			for (pallet_storage, mode) in pov_modes {
 				let mode = PovEstimationMode::from_str(&mode)?;
 				let splits = pallet_storage.split("::").collect::<Vec<_>>();
@@ -766,6 +766,8 @@ fn list_benchmark(
 		Vec<u8>,
 		Vec<(BenchmarkParameter, u32, u32)>,
 		Vec<(String, String)>,
+		String,
+		String,
 	)>,
 	list_output: ListOutput,
 	no_csv_header: bool,
@@ -773,11 +775,11 @@ fn list_benchmark(
 	let mut benchmarks = BTreeMap::new();
 
 	// Sort and de-dub by pallet and function name.
-	benchmarks_to_run.iter().for_each(|(pallet, extrinsic, _, _)| {
+	benchmarks_to_run.iter().for_each(|(_, _, _, _, pallet_name, extrinsic_name)| {
 		benchmarks
-			.entry(String::from_utf8_lossy(pallet).to_string())
+			.entry(pallet_name)
 			.or_insert_with(BTreeSet::new)
-			.insert(String::from_utf8_lossy(extrinsic).to_string());
+			.insert(extrinsic_name);
 	});
 
 	match list_output {
diff --git a/substrate/utils/frame/benchmarking-cli/src/pallet/writer.rs b/substrate/utils/frame/benchmarking-cli/src/pallet/writer.rs
index 9493a693bbed321785bf0d23326d0f68b3efd534..bd4b65d8a2e378d543b54bebd8db4a1c3d378f98 100644
--- a/substrate/utils/frame/benchmarking-cli/src/pallet/writer.rs
+++ b/substrate/utils/frame/benchmarking-cli/src/pallet/writer.rs
@@ -153,8 +153,8 @@ fn map_results(
 			continue
 		}
 
-		let pallet_string = String::from_utf8(batch.pallet.clone()).unwrap();
-		let instance_string = String::from_utf8(batch.instance.clone()).unwrap();
+		let pallet_name = String::from_utf8(batch.pallet.clone()).unwrap();
+		let instance_name = String::from_utf8(batch.instance.clone()).unwrap();
 		let benchmark_data = get_benchmark_data(
 			batch,
 			storage_info,
@@ -166,7 +166,7 @@ fn map_results(
 			worst_case_map_values,
 			additional_trie_layers,
 		);
-		let pallet_benchmarks = all_benchmarks.entry((pallet_string, instance_string)).or_default();
+		let pallet_benchmarks = all_benchmarks.entry((pallet_name, instance_name)).or_default();
 		pallet_benchmarks.push(benchmark_data);
 	}
 	Ok(all_benchmarks)
@@ -571,19 +571,22 @@ pub(crate) fn process_storage_results(
 
 			let mut prefix_result = result.clone();
 			let key_info = storage_info_map.get(&prefix);
+			let pallet_name = match key_info {
+				Some(k) => String::from_utf8(k.pallet_name.clone()).expect("encoded from string"),
+				None => "".to_string(),
+			};
+			let storage_name = match key_info {
+				Some(k) => String::from_utf8(k.storage_name.clone()).expect("encoded from string"),
+				None => "".to_string(),
+			};
 			let max_size = key_info.and_then(|k| k.max_size);
 
 			let override_pov_mode = match key_info {
-				Some(StorageInfo { pallet_name, storage_name, .. }) => {
-					let pallet_name =
-						String::from_utf8(pallet_name.clone()).expect("encoded from string");
-					let storage_name =
-						String::from_utf8(storage_name.clone()).expect("encoded from string");
-
+				Some(_) => {
 					// Is there an override for the storage key?
-					pov_modes.get(&(pallet_name.clone(), storage_name)).or(
+					pov_modes.get(&(pallet_name.clone(), storage_name.clone())).or(
 						// .. or for the storage prefix?
-						pov_modes.get(&(pallet_name, "ALL".to_string())).or(
+						pov_modes.get(&(pallet_name.clone(), "ALL".to_string())).or(
 							// .. or for the benchmark?
 							pov_modes.get(&("ALL".to_string(), "ALL".to_string())),
 						),
@@ -662,15 +665,10 @@ pub(crate) fn process_storage_results(
 			// writes.
 			if !is_prefix_identified {
 				match key_info {
-					Some(key_info) => {
+					Some(_) => {
 						let comment = format!(
 							"Storage: `{}::{}` (r:{} w:{})",
-							String::from_utf8(key_info.pallet_name.clone())
-								.expect("encoded from string"),
-							String::from_utf8(key_info.storage_name.clone())
-								.expect("encoded from string"),
-							reads,
-							writes,
+							pallet_name, storage_name, reads, writes,
 						);
 						comments.push(comment)
 					},
@@ -698,11 +696,7 @@ pub(crate) fn process_storage_results(
 						) {
 							Some(new_pov) => {
 								let comment = format!(
-									"Proof: `{}::{}` (`max_values`: {:?}, `max_size`: {:?}, added: {}, mode: `{:?}`)",
-									String::from_utf8(key_info.pallet_name.clone())
-										.expect("encoded from string"),
-									String::from_utf8(key_info.storage_name.clone())
-										.expect("encoded from string"),
+									"Proof: `{pallet_name}::{storage_name}` (`max_values`: {:?}, `max_size`: {:?}, added: {}, mode: `{:?}`)",
 									key_info.max_values,
 									key_info.max_size,
 									new_pov,
@@ -711,13 +705,9 @@ pub(crate) fn process_storage_results(
 								comments.push(comment)
 							},
 							None => {
-								let pallet = String::from_utf8(key_info.pallet_name.clone())
-									.expect("encoded from string");
-								let item = String::from_utf8(key_info.storage_name.clone())
-									.expect("encoded from string");
 								let comment = format!(
 									"Proof: `{}::{}` (`max_values`: {:?}, `max_size`: {:?}, mode: `{:?}`)",
-									pallet, item, key_info.max_values, key_info.max_size,
+									pallet_name, storage_name, key_info.max_values, key_info.max_size,
 									used_pov_mode,
 								);
 								comments.push(comment);