diff --git a/pallets/distance/src/mock.rs b/pallets/distance/src/mock.rs
index 61ad83e667c907dd73701a56fffb89e73b50f639..7031c0e0976528617e7afbc356ddd38ae7a0afb4 100644
--- a/pallets/distance/src/mock.rs
+++ b/pallets/distance/src/mock.rs
@@ -15,9 +15,11 @@
 // along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>.
 
 use crate::{self as pallet_distance};
+use frame_support::traits::GenesisBuild;
 use frame_support::{
     parameter_types, sp_io,
     traits::{Everything, OnFinalize, OnInitialize},
+    BasicExternalities,
 };
 use frame_system as system;
 use pallet_session::{ShouldEndSession, TestSessionHandler};
@@ -245,17 +247,50 @@ impl pallet_session::historical::Config for Test {
 
 // Build genesis storage according to the mock runtime.
 pub fn new_test_ext() -> sp_io::TestExternalities {
-    GenesisConfig {
-        system: SystemConfig::default(),
-        authority_members: pallet_authority_members::GenesisConfig::default(),
-        cert: pallet_certification::GenesisConfig::default(),
-        distance: pallet_distance::GenesisConfig::default(),
-        identity: pallet_identity::GenesisConfig::default(),
-        session: pallet_session::GenesisConfig::default(),
+    let initial_authorities_len = 3;
+    let initial_authorities = (1..=initial_authorities_len)
+        .map(|i| (i * 3, (i * 3, true)))
+        .collect();
+    let keys: Vec<_> = (1..=initial_authorities_len)
+        .map(|i| (i * 3, i * 3, UintAuthorityId(i * 3).into()))
+        .collect();
+
+    let mut t = frame_system::GenesisConfig::default()
+        .build_storage::<Test>()
+        .unwrap();
+
+    BasicExternalities::execute_with_storage(&mut t, || {
+        for (ref k, ..) in &keys {
+            frame_system::Pallet::<Test>::inc_providers(k);
+        }
+        // Some dedicated test account
+        frame_system::Pallet::<Test>::inc_providers(&12);
+        frame_system::Pallet::<Test>::inc_providers(&15);
+    });
+
+    pallet_authority_members::GenesisConfig::<Test> {
+        initial_authorities,
     }
-    .build_storage()
-    .unwrap()
-    .into()
+    .assimilate_storage(&mut t)
+    .unwrap();
+
+    pallet_session::GenesisConfig::<Test> { keys }
+        .assimilate_storage(&mut t)
+        .unwrap();
+
+    sp_io::TestExternalities::new(t)
+
+    // GenesisConfig {
+    //     system: SystemConfig::default(),
+    //     authority_members: pallet_authority_members::GenesisConfig::default(),
+    //     cert: pallet_certification::GenesisConfig::default(),
+    //     distance: pallet_distance::GenesisConfig::default(),
+    //     identity: pallet_identity::GenesisConfig::default(),
+    //     session: pallet_session::GenesisConfig::default(),
+    // }
+    // .build_storage()
+    // .unwrap()
+    // .into()
 }
 
 pub fn run_to_block(n: u64) {