Index: trunk/BNC/src/bncrinex.cpp
===================================================================
--- trunk/BNC/src/bncrinex.cpp	(revision 4531)
+++ trunk/BNC/src/bncrinex.cpp	(revision 4532)
@@ -177,5 +177,7 @@
 // Read Skeleton Header File
 ////////////////////////////////////////////////////////////////////////////
-void bncRinex::readSkeleton() {
+bool bncRinex::readSkeleton() {
+
+  bool readDone = false;
 
   // Read the local file
@@ -183,4 +185,5 @@
   QFile skl(_sklName);
   if ( skl.exists() && skl.open(QIODevice::ReadOnly) ) {
+    readDone = true;
     QTextStream in(&skl);
     _header.read(&in);
@@ -193,8 +196,12 @@
     QDate currDate = currentDateAndTimeGPS().date();
     if ( !_skeletonDate.isValid() || _skeletonDate != currDate ) {
-      downloadSkeleton();
+      if (downloadSkeleton() == success) {
+        readDone = true;
+      }
       _skeletonDate = currDate;
     }
   }
+
+  return readDone;
 }
 
@@ -335,5 +342,5 @@
   // Read Skeleton Header
   // --------------------
-  readSkeleton();
+  bool skelRead = readSkeleton();
 
   // Set RINEX Version
@@ -348,9 +355,11 @@
   // A Few Additional Comments
   // -------------------------
-  QStringList addComments;
-  addComments << format.left(6) + " " + _mountPoint.host() + _mountPoint.path();
-
-  if (_nmea == "yes") {
-    addComments << "NMEA LAT=" + _latitude + " " + "LONG=" + _longitude;
+  if (skelRead || _addComments.size() == 0) {
+    _addComments.clear();
+    _addComments << format.left(6) + " " 
+                                   + _mountPoint.host() + _mountPoint.path();
+    if (_nmea == "yes") {
+      _addComments << "NMEA LAT=" + _latitude + " " + "LONG=" + _longitude;
+    }
   }
 
@@ -371,6 +380,6 @@
   // ---------------------------
   if (_header._obsTypesV3.size() == 0) {
-    if (_header._version >= 3.0) {
-      addComments << "Default set of observation types used";
+    if (skelRead && _header._version >= 3.0) {
+      _addComments << "Default set of observation types used";
     }
     _header._obsTypesV3['G'] << "C1C" << "L1C" << "D1C" << "S1C" 
@@ -410,5 +419,5 @@
 
   QMap<QString, QString> txtMap;
-  txtMap["COMMENT"] = addComments.join("\\n");
+  txtMap["COMMENT"] = _addComments.join("\\n");
 
   _header.write(&outHlp, &txtMap);
Index: trunk/BNC/src/bncrinex.h
===================================================================
--- trunk/BNC/src/bncrinex.h	(revision 4531)
+++ trunk/BNC/src/bncrinex.h	(revision 4532)
@@ -55,5 +55,5 @@
    static std::string obsToStr(double val, int width = 14, int precision = 3);
    void resolveFileName(const QDateTime& datTim);
-   void readSkeleton();
+   bool readSkeleton();
    void writeHeader(const QByteArray& format, const QDateTime& datTimNom);
    void closeFile();
@@ -78,4 +78,5 @@
    QDate         _skeletonDate;
    int           _samplingRate;
+   QStringList   _addComments;
 
    QMap<QString, int>  _slip_cnt_L1;
