diff --git a/cumulus/pallets/session-benchmarking/src/inner.rs b/cumulus/pallets/session-benchmarking/src/inner.rs
index 8d5954304878dfd5ff4c4bf912168d70e4e5e53f..6c5188921362efd9a60fa3a30693943b618379e7 100644
--- a/cumulus/pallets/session-benchmarking/src/inner.rs
+++ b/cumulus/pallets/session-benchmarking/src/inner.rs
@@ -14,29 +14,49 @@
 // limitations under the License.
 
 //! Benchmarking setup for pallet-session.
+#![cfg(feature = "runtime-benchmarks")]
 
 use alloc::{vec, vec::Vec};
 
 use codec::Decode;
-use frame_benchmarking::{benchmarks, whitelisted_caller};
+use frame_benchmarking::v2::*;
 use frame_system::RawOrigin;
 use pallet_session::*;
 pub struct Pallet<T: Config>(pallet_session::Pallet<T>);
 pub trait Config: pallet_session::Config {}
 
-benchmarks! {
-	set_keys {
+#[benchmarks]
+mod benchmarks {
+	use super::*;
+
+	#[benchmark]
+	fn set_keys() -> Result<(), BenchmarkError> {
 		let caller: T::AccountId = whitelisted_caller();
 		frame_system::Pallet::<T>::inc_providers(&caller);
 		let keys = T::Keys::decode(&mut sp_runtime::traits::TrailingZeroInput::zeroes()).unwrap();
-		let proof: Vec<u8> = vec![0,1,2,3];
-	}: _(RawOrigin::Signed(caller), keys, proof)
+		let proof: Vec<u8> = vec![0, 1, 2, 3];
+
+		#[extrinsic_call]
+		_(RawOrigin::Signed(caller), keys, proof);
+
+		Ok(())
+	}
 
-	purge_keys {
+	#[benchmark]
+	fn purge_keys() -> Result<(), BenchmarkError> {
 		let caller: T::AccountId = whitelisted_caller();
 		frame_system::Pallet::<T>::inc_providers(&caller);
 		let keys = T::Keys::decode(&mut sp_runtime::traits::TrailingZeroInput::zeroes()).unwrap();
-		let proof: Vec<u8> = vec![0,1,2,3];
-		let _t = pallet_session::Pallet::<T>::set_keys(RawOrigin::Signed(caller.clone()).into(), keys, proof);
-	}: _(RawOrigin::Signed(caller))
+		let proof: Vec<u8> = vec![0, 1, 2, 3];
+		let _t = pallet_session::Pallet::<T>::set_keys(
+			RawOrigin::Signed(caller.clone()).into(),
+			keys,
+			proof,
+		);
+
+		#[extrinsic_call]
+		_(RawOrigin::Signed(caller));
+
+		Ok(())
+	}
 }