Index: /trunk/BNC/bnccaster.cpp
===================================================================
--- /trunk/BNC/bnccaster.cpp	(revision 1559)
+++ /trunk/BNC/bnccaster.cpp	(revision 1560)
@@ -250,4 +250,13 @@
 void bncCaster::slotGetThreadFinished(QByteArray staID) {
   QMutexLocker locker(&_mutex);
+
+  QListIterator<bncGetThread*> it(_threads);
+  while (it.hasNext()) {
+    bncGetThread* thread = it.next();
+    if (thread->staID() == staID) {
+      _threads.removeOne(thread);
+    }
+  }
+
   _staIDs.removeAll(staID);
   emit( newMessage(
Index: /trunk/BNC/bncwindow.cpp
===================================================================
--- /trunk/BNC/bncwindow.cpp	(revision 1559)
+++ /trunk/BNC/bncwindow.cpp	(revision 1560)
@@ -926,7 +926,7 @@
 void bncWindow::slotGetThreadsFinished() {
   ((bncApp*)qApp)->slotMessage("All Get Threads Terminated", true);
-  if (!_actStop->isEnabled()) {
-    _actGetData->setEnabled(true);
-  }
+  delete _caster; _caster = 0;
+  _actGetData->setEnabled(true);
+  _actStop->setEnabled(false);
 }
 
