diff --git a/src/main/java/org/codelibs/fess/app/web/admin/maintenance/AdminMaintenanceAction.java b/src/main/java/org/codelibs/fess/app/web/admin/maintenance/AdminMaintenanceAction.java
index 2450b4d0e8f44e9711a6a5661ed5183e6218e584..808efba56d4da9d39c738a87c142d2553b1bf7cc 100644
--- a/src/main/java/org/codelibs/fess/app/web/admin/maintenance/AdminMaintenanceAction.java
+++ b/src/main/java/org/codelibs/fess/app/web/admin/maintenance/AdminMaintenanceAction.java
@@ -118,12 +118,14 @@ public class AdminMaintenanceAction extends FessAdminAction {
     public HtmlResponse reloadDocIndex(final ActionForm form) {
         validate(form, messages -> {}, this::asIndexHtml);
         verifyToken(this::asIndexHtml);
-        final String docIndex = fessConfig.getIndexDocumentUpdateIndex();
-        searchEngineClient.admin().indices().prepareClose(docIndex).execute(ActionListener.wrap(res -> {
-            logger.info("Close {}", docIndex);
-            searchEngineClient.admin().indices().prepareOpen(docIndex).execute(
-                    ActionListener.wrap(res2 -> logger.info("Open {}", docIndex), e -> logger.warn("Failed to open {}", docIndex, e)));
-        }, e -> logger.warn("Failed to close {}", docIndex, e)));
+        searchEngineClient.flushConfigFiles(() -> {
+            final String docIndex = fessConfig.getIndexDocumentUpdateIndex();
+            searchEngineClient.admin().indices().prepareClose(docIndex).execute(ActionListener.wrap(res -> {
+                logger.info("Close {}", docIndex);
+                searchEngineClient.admin().indices().prepareOpen(docIndex).execute(
+                        ActionListener.wrap(res2 -> logger.info("Open {}", docIndex), e -> logger.warn("Failed to open {}", docIndex, e)));
+            }, e -> logger.warn("Failed to close {}", docIndex, e)));
+        });
         saveInfo(messages -> messages.addSuccessStartedDataUpdate(GLOBAL));
         return redirect(getClass());
     }
diff --git a/src/main/java/org/codelibs/fess/es/client/SearchEngineClient.java b/src/main/java/org/codelibs/fess/es/client/SearchEngineClient.java
index 20c56d35068789e5ac91c90120839884a44a602d..b62364b879aa108de8832e02ac534aff6b7bec04 100644
--- a/src/main/java/org/codelibs/fess/es/client/SearchEngineClient.java
+++ b/src/main/java/org/codelibs/fess/es/client/SearchEngineClient.java
@@ -636,6 +636,32 @@ public class SearchEngineClient implements Client {
         }
     }
 
+    public void flushConfigFiles(final Runnable callback) {
+        final FessConfig fessConfig = ComponentUtil.getFessConfig();
+
+        final String fesenType = fessConfig.getFesenType();
+        switch (fesenType) {
+        case Constants.FESEN_TYPE_CLOUD:
+        case Constants.FESEN_TYPE_AWS:
+            if (logger.isDebugEnabled()) {
+                logger.debug("Skipped configsync flush: {}", fesenType);
+            }
+            callback.run();
+            break;
+        default:
+            ComponentUtil.getCurlHelper().post("/_configsync/flush").execute(response -> {
+                if (logger.isDebugEnabled()) {
+                    logger.debug("Flushed config files: {} => {}", fesenType, response.getContentAsString());
+                }
+                callback.run();
+            }, e -> {
+                logger.warn("Failed to flush config files.", e);
+                callback.run();
+            });
+            break;
+        }
+    }
+
     protected String generateNewIndexName(final String configIndex) {
         return configIndex + "." + new SimpleDateFormat("yyyyMMdd").format(new Date());
     }