Index: trunk/BNS/bnseph.cpp
===================================================================
--- trunk/BNS/bnseph.cpp	(revision 1124)
+++ trunk/BNS/bnseph.cpp	(revision 1125)
@@ -113,7 +113,11 @@
 
   int nBytes = 0;
-
   t_eph* eph = 0;
+
   QByteArray line = waitForLine(_socket);
+
+  if (line.isEmpty()) {
+    return;
+  }
 
   if (_echoStream) {
@@ -144,4 +148,8 @@
   for (int ii = 2; ii <= numlines; ii++) {
     QByteArray line = waitForLine(_socket);
+    if (line.isEmpty()) {
+      delete eph;
+      return;
+    }
 
     if (_echoStream) {
Index: trunk/BNS/bnsutils.cpp
===================================================================
--- trunk/BNS/bnsutils.cpp	(revision 1124)
+++ trunk/BNS/bnsutils.cpp	(revision 1125)
@@ -157,4 +157,7 @@
     }
     else {
+      if (socket->state() != QAbstractSocket::ConnectedState) {
+        return "";
+      }
       socket->waitForReadyRead(10);
     }
