diff --git a/pallets/duniter-account/src/types.rs b/pallets/duniter-account/src/types.rs
index d967ddad5bc825ad9fd285e0e9e439235bd96985..6632b18b94cf057aea095e260e6284bfe2930fab 100644
--- a/pallets/duniter-account/src/types.rs
+++ b/pallets/duniter-account/src/types.rs
@@ -32,13 +32,17 @@ pub struct AccountData<Balance> {
     pub(super) reserved: Balance,
     // see Substrate AccountData
     fee_frozen: Balance,
+    // Workaround because ExtraFlags is not public
+    // Refactoration is needed
+    flag: pallet_balances::AccountData<Balance>,
 }
 
-impl<Balance: Zero> AccountData<Balance> {
+impl<Balance: Zero + Clone> AccountData<Balance> {
     pub fn set_balances(&mut self, new_balances: pallet_balances::AccountData<Balance>) {
-        self.free = new_balances.free;
-        self.reserved = new_balances.reserved;
-        self.fee_frozen = new_balances.frozen;
+        self.free = new_balances.free.clone();
+        self.reserved = new_balances.reserved.clone();
+        self.fee_frozen = new_balances.frozen.clone();
+        self.flag = new_balances;
     }
     pub fn was_providing(&self) -> bool {
         !self.free.is_zero() || !self.reserved.is_zero()
@@ -53,7 +57,7 @@ impl<Balance: Zero + sp_std::default::Default> From<AccountData<Balance>>
             free: account_data.free,
             reserved: account_data.reserved,
             frozen: account_data.fee_frozen,
-            ..Default::default()
+            flags: account_data.flag.flags,
         }
     }
 }