diff --git a/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/PluginInit.java b/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/PluginInit.java
index 21b83e1b1b2f6bacc877227285b8223758eab199..f9c4b8413aa995511a4ae84d99dede041b6371ea 100644
--- a/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/PluginInit.java
+++ b/cesium-plus-pod-core/src/main/java/org/duniter/elasticsearch/PluginInit.java
@@ -256,34 +256,64 @@ public class PluginInit extends AbstractLifecycleComponent<PluginInit> {
                         logger.info(String.format("[%s] Indexing blockchain [OK]", currencyName));
                     }
 
-                    // Index peers (and listen if new peer appear)
-                    if (pluginSettings.enableSynchroDiscovery()) {
-                        injector.getInstance(PeerService.class)
-                                .listenAndIndexPeers(peer);
-                    }
-
-                    // Start synchro
-                    if (pluginSettings.enableSynchro()) {
-                        injector.getInstance(SynchroService.class)
-                                .startScheduling();
-                    }
 
-                    // Start publish peering
-                    if (pluginSettings.enablePeering()) {
-                        injector.getInstance(NetworkService.class)
-                                .startPublishingPeerDocumentToNetwork();
-                    }
 
                 } catch(Throwable e){
                     logger.error(String.format("[%s] Indexing blockchain error: %s", currencyName, e.getMessage()), e);
                     throw e;
                 }
 
+                // Index peers (and listen if new peer appear)
+                if (pluginSettings.enableSynchroDiscovery()) {
+                    injector.getInstance(PeerService.class)
+                            .listenAndIndexPeers(peer);
+                }
+
+                // Start synchro and peering
+                startSynchroAndPeering();
+
+                // Start doc stats
+                startDocStatistics();
             });
 
         }
 
-        // If doc stats enable
+        // No blockchain indexation
+        else {
+
+            // Wait end of currency index creation
+            threadPool.scheduleOnClusterReady(() -> {
+                // Start synchro and peering
+                // (this is possible because default peers can be define in config, by including static endpoints)
+                startSynchroAndPeering();
+
+                // Start doc stats
+                startDocStatistics();
+            });
+        }
+
+        // Allow scroll search (need by synchro from other peers)
+        injector.getInstance(RestSecurityController.class)
+                .allow(RestRequest.Method.POST, "^/_search/scroll$");
+    }
+
+    protected void startSynchroAndPeering() {
+
+        // Start synchro, if enable in config
+        if (pluginSettings.enableSynchro()) {
+            injector.getInstance(SynchroService.class)
+                    .startScheduling();
+        }
+
+        // Start publish peering to network, if enable in config
+        if (pluginSettings.enablePeering()) {
+            injector.getInstance(NetworkService.class)
+                    .startPublishingPeerDocumentToNetwork();
+        }
+    }
+
+    protected void startDocStatistics() {
+        // Start doc stats, if enable in config
         if (pluginSettings.enableDocStats()) {
 
             // Add access to docstat index
@@ -303,9 +333,5 @@ public class PluginInit extends AbstractLifecycleComponent<PluginInit> {
             // Wait end of currency index creation, then index blocks
             threadPool.scheduleOnClusterReady(docStatService::startScheduling);
         }
-
-        // Allow scroll search
-        injector.getInstance(RestSecurityController.class)
-                .allow(RestRequest.Method.POST, "^/_search/scroll$");
     }
 }