diff --git a/Common/onelab.h b/Common/onelab.h
index 0f77d8e000b971b8736505d8214101dda387b91a..c7a3d8a7c55f9e86c60076ec69c4ee846df4d00e 100644
--- a/Common/onelab.h
+++ b/Common/onelab.h
@@ -1180,6 +1180,7 @@ namespace onelab{
     virtual ~remoteNetworkClient()
     {
       if(_gmshClient){
+        _waitOnSubClients();
         _gmshClient->Stop();
         _gmshClient->Disconnect();
         delete _gmshClient;
diff --git a/utils/solvers/c++/onelab.h b/utils/solvers/c++/onelab.h
index 0f77d8e000b971b8736505d8214101dda387b91a..c7a3d8a7c55f9e86c60076ec69c4ee846df4d00e 100644
--- a/utils/solvers/c++/onelab.h
+++ b/utils/solvers/c++/onelab.h
@@ -1180,6 +1180,7 @@ namespace onelab{
     virtual ~remoteNetworkClient()
     {
       if(_gmshClient){
+        _waitOnSubClients();
         _gmshClient->Stop();
         _gmshClient->Disconnect();
         delete _gmshClient;