diff --git a/Common/gmshLocalNetworkClient.cpp b/Common/gmshLocalNetworkClient.cpp
index b8752046b762d06c0ca3c6fa3b0a6507d0db61b0..659685a26cbe8f3eea3c725ebd9fc99d563999cd 100644
--- a/Common/gmshLocalNetworkClient.cpp
+++ b/Common/gmshLocalNetworkClient.cpp
@@ -499,6 +499,7 @@ bool gmshLocalNetworkClient::run()
             delete s;
           }
           toDelete.push_back(c);
+          onelab::server::instance()->unregisterClient(c);
           continue;
         }
       }
@@ -556,6 +557,7 @@ bool gmshLocalNetworkClient::run()
       if(c->getPid() > 0)
         Msg::Error("Subclient %s was not stopped correctly", c->getName().c_str());
       toDelete.push_back(c);
+      onelab::server::instance()->unregisterClient(c);
     }
   }
   for(unsigned int i = 0; i < toDelete.size(); i++){