diff --git a/substrate/frame/system/src/lib.rs b/substrate/frame/system/src/lib.rs
index 87a636b37f1caedbc5ca134085973679401bdd35..012185386bcfbca3b1e730922b16074038e43f9b 100644
--- a/substrate/frame/system/src/lib.rs
+++ b/substrate/frame/system/src/lib.rs
@@ -77,7 +77,7 @@ use sp_runtime::{
 	traits::{
 		self, CheckEqual, AtLeast32Bit, Zero, Lookup, LookupError,
 		SimpleBitOps, Hash, Member, MaybeDisplay, BadOrigin,
-		MaybeSerialize, MaybeSerializeDeserialize, MaybeMallocSizeOf, StaticLookup, One, Bounded,
+		MaybeSerializeDeserialize, MaybeMallocSizeOf, StaticLookup, One, Bounded,
 		Dispatchable, AtLeast32BitUnsigned, Saturating, StoredMapError,
 	},
 	offchain::storage_lock::BlockNumberProvider,
@@ -174,7 +174,7 @@ pub mod pallet {
 		/// Account index (aka nonce) type. This stores the number of previous transactions associated
 		/// with a sender account.
 		type Index:
-			Parameter + Member + MaybeSerialize + Debug + Default + MaybeDisplay + AtLeast32Bit
+			Parameter + Member + MaybeSerializeDeserialize + Debug + Default + MaybeDisplay + AtLeast32Bit
 			+ Copy;
 
 		/// The block number type used by the runtime.