Index: trunk/BNC/bnccaster.cpp
===================================================================
--- trunk/BNC/bnccaster.cpp	(revision 368)
+++ trunk/BNC/bnccaster.cpp	(revision 369)
@@ -110,4 +110,13 @@
   delete _sockets;
   delete _epochs;
+}
+
+// Reconnecting
+////////////////////////////////////////////////////////////////////////////
+void bncCaster::reconnecting(const QByteArray& staID) {
+  if (_rinexWriters.find(staID) != _rinexWriters.end()) {
+    bncRinex* rnx = _rinexWriters.find(staID).value();
+    rnx->setReconnectFlag(true);
+  }
 }
 
Index: trunk/BNC/bnccaster.h
===================================================================
--- trunk/BNC/bnccaster.h	(revision 368)
+++ trunk/BNC/bnccaster.h	(revision 369)
@@ -48,4 +48,5 @@
                const QByteArray& latitude, const QByteArray& longitude,
                const QByteArray& nmea);
+   void reconnecting(const QByteArray& staID);
 
  signals:
Index: trunk/BNC/bncgetthread.cpp
===================================================================
--- trunk/BNC/bncgetthread.cpp	(revision 368)
+++ trunk/BNC/bncgetthread.cpp	(revision 369)
@@ -400,4 +400,5 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncGetThread::tryReconnect() {
+  _global_caster->reconnecting(_staID);
   while (1) {
     delete _socket; _socket = 0;
Index: trunk/BNC/bncrinex.cpp
===================================================================
--- trunk/BNC/bncrinex.cpp	(revision 368)
+++ trunk/BNC/bncrinex.cpp	(revision 369)
@@ -71,4 +71,5 @@
   _nmea          = nmea;
   _headerWritten = false;
+  _reconnectFlag = false;
 
   QSettings settings;
@@ -309,9 +310,10 @@
   // ----------------------------------
   if ( QFile::exists(_fName) ) {
-//    QSettings settings;
-    if ( Qt::CheckState(settings.value("rnxAppend").toInt()) == Qt::Checked) {
+    if (_reconnectFlag ||
+        Qt::CheckState(settings.value("rnxAppend").toInt()) == Qt::Checked) {
       _out.open(_fName.data(), ios::app);
       _out.setf(ios::showpoint | ios::fixed);
       _headerWritten = true;
+      _reconnectFlag = false;
       return;
     }
Index: trunk/BNC/bncrinex.h
===================================================================
--- trunk/BNC/bncrinex.h	(revision 368)
+++ trunk/BNC/bncrinex.h	(revision 369)
@@ -44,4 +44,5 @@
    void deepCopy(const Observation* obs);
    void dumpEpoch(long maxTime);
+   void setReconnectFlag(bool flag){_reconnectFlag = flag;}
 
  private:
@@ -67,4 +68,5 @@
    QByteArray          _longitude;
    QByteArray          _nmea;
+   bool                _reconnectFlag;
 };
 
