Index: trunk/BNC/src/PPP_free/pppClient.cpp
===================================================================
--- trunk/BNC/src/PPP_free/pppClient.cpp	(revision 6087)
+++ trunk/BNC/src/PPP_free/pppClient.cpp	(revision 6088)
@@ -54,10 +54,10 @@
 // Global variable holding thread-specific pointers
 //////////////////////////////////////////////////////////////////////////////
-t_pppClient* PPP_CLIENT = 0;
+QThreadStorage<t_pppClient*> CLIENTS;
 
 // Static function returning thread-specific pointer
 //////////////////////////////////////////////////////////////////////////////
 t_pppClient* t_pppClient::instance() {
-  return PPP_CLIENT;
+  return CLIENTS.localData();
 }
 
@@ -71,5 +71,6 @@
   _log       = new ostringstream();
   _staID     = QByteArray(_opt->_roverName.c_str());
-  PPP_CLIENT = this;
+
+  CLIENTS.setLocalData(this);  // CLIENTS takes ownership over "this"
 }
 
