diff --git a/src/lib66/service/service_switch_tree.c b/src/lib66/service/service_switch_tree.c
index 5eac94286fcbf5208843feaef365772eccb2c807..68fb5dbc2c4e3bed9a2ec4c7970f4c96bf8d60df 100644
--- a/src/lib66/service/service_switch_tree.c
+++ b/src/lib66/service/service_switch_tree.c
@@ -33,5 +33,8 @@ void service_switch_tree(resolve_service_t *res, char const *base, char const *t
     if (!service_resolve_modify_field(res, E_RESOLVE_SERVICE_TREENAME, totreename))
         log_dieu(LOG_EXIT_SYS, "modify resolve file of: ", res->sa.s + res->name) ;
 
+    if (!resolve_write_g(wres, res->sa.s + res->path.home, res->sa.s + res->name))
+        log_dieu(LOG_EXIT_SYS, "write  resolve file of: ", res->sa.s + res->name) ;
+
     free(wres) ;
 }