Index: /trunk/BNC/bncgetthread.cpp
===================================================================
--- /trunk/BNC/bncgetthread.cpp	(revision 514)
+++ /trunk/BNC/bncgetthread.cpp	(revision 515)
@@ -112,10 +112,4 @@
 
   msleep(100); //sleep 0.1 sec
-
-  // Initialize Socket
-  // -----------------
-  QString msg;
-  _socket = bncGetThread::request(_mountPoint, _latitude, _longitude, 
-                                  _nmea, _timeOut, msg);
 }
 
@@ -123,5 +117,8 @@
 ////////////////////////////////////////////////////////////////////////////
 bncGetThread::~bncGetThread() {
-  delete _socket;
+  if (_socket) {
+    _socket->close();
+    // delete _socket; // not allowed in Qt - created in different thread
+  }
   delete _decoder;
 }
@@ -245,4 +242,9 @@
 t_irc bncGetThread::initRun() {
 
+  // Initialize Socket
+  // -----------------
+  QString msg;
+  _socket = bncGetThread::request(_mountPoint, _latitude, _longitude, 
+                                  _nmea, _timeOut, msg);
   if (!_socket) {
     return failure;
