diff --git a/utilities/src/ordered_set.rs b/utilities/src/ordered_set.rs
index d8ea421f8593e4d67028832540f53aabcb9b1d9a..d9c3a9d48930bb20ea3f0345cd1aac05464939f3 100644
--- a/utilities/src/ordered_set.rs
+++ b/utilities/src/ordered_set.rs
@@ -1,7 +1,10 @@
 use codec::{Decode, Encode};
+#[cfg(feature = "std")]
+use serde::{Deserialize, Serialize};
 use sp_runtime::RuntimeDebug;
 use sp_std::prelude::*;
 
+#[cfg_attr(feature = "std", derive(Serialize, Deserialize))]
 #[derive(RuntimeDebug, PartialEq, Eq, Encode, Decode, Default)]
 pub struct OrderedSet<T>(pub Vec<T>);