Index: trunk/BNS/bns.cpp
===================================================================
--- trunk/BNS/bns.cpp	(revision 828)
+++ trunk/BNS/bns.cpp	(revision 829)
@@ -74,4 +74,6 @@
     }
   }
+
+  openCaster();
 }
 
@@ -216,7 +218,4 @@
     if (_clkSocket && _clkSocket->state() == QAbstractSocket::ConnectedState) {
       if ( _clkSocket->canReadLine()) {
-        if (_outSocket == 0) {
-          openCaster();
-        }
         readEpoch();
       }
Index: trunk/BNS/bnseph.cpp
===================================================================
--- trunk/BNS/bnseph.cpp	(revision 828)
+++ trunk/BNS/bnseph.cpp	(revision 829)
@@ -26,5 +26,16 @@
 ////////////////////////////////////////////////////////////////////////////
 t_bnseph::t_bnseph(QObject* parent) : QThread(parent) {
-  _socket = 0;
+
+  QSettings settings;
+  QString host = "localhost";
+  int     port = settings.value("ephPort").toInt();
+
+  _socket = new QTcpSocket();
+  _socket->connectToHost(host, port);
+
+  const int timeOut = 3*1000;  // 3 seconds
+  if (!_socket->waitForConnected(timeOut)) {
+    emit(error("bnseph::run Connect Timeout"));
+  }
 }
 
@@ -41,29 +52,14 @@
   emit(newMessage("bnseph::run Start"));
 
-  // Connect the Socket
-  // ------------------
-  QSettings settings;
-  QString host = "localhost";
-  int     port = settings.value("ephPort").toInt();
-
-  _socket = new QTcpSocket();
-  _socket->connectToHost(host, port);
-
-  const int timeOut = 3*1000;  // 3 seconds
-  if (!_socket->waitForConnected(timeOut)) {
-    emit(error("bnseph::run Connect Timeout"));
-  }
-  else {
-    while (true) {
-      if (_socket->state() != QAbstractSocket::ConnectedState) {
-        emit(error("bnseph::not connected"));
-        break;
-      }
-      if (_socket->canReadLine()) {
-        readEph();
-      }
-      else {
-        _socket->waitForReadyRead(10);
-      }
+  while (true) {
+    if (_socket->state() != QAbstractSocket::ConnectedState) {
+      emit(error("bnseph::not connected"));
+      break;
+    }
+    if (_socket->canReadLine()) {
+      readEph();
+    }
+    else {
+      _socket->waitForReadyRead(10);
     }
   }
