Index: trunk/BNC/src/bncrinex.cpp
===================================================================
--- trunk/BNC/src/bncrinex.cpp	(revision 4500)
+++ trunk/BNC/src/bncrinex.cpp	(revision 4501)
@@ -177,5 +177,5 @@
 // Read Skeleton Header File
 ////////////////////////////////////////////////////////////////////////////
-void bncRinex::readSkeleton() {
+void bncRinex::readSkeleton(bool& obsTypesFound) {
 
   // Read the local file
@@ -206,7 +206,12 @@
   }
 
+  obsTypesFound = true;
+
   // Default RINEX v2 Types
   // -------------------------
   if (_header._obsTypesV2.size() == 0) {
+    if (_header._version < 3.0) {
+      obsTypesFound = false;
+    }
     _header._obsTypesV2 << "C1" << "P1" << "L1" << "S1" 
                         << "C2" << "P2" << "L2" << "S2";
@@ -216,4 +221,7 @@
   // -------------------------
   if (_header._obsTypesV3.size() == 0) {
+    if (_header._version >= 3.0) {
+      obsTypesFound = false;
+    }
     _header._obsTypesV3['G'] << "C1C" << "L1C" << "D1C" << "S1C" 
                              << "C1P" << "L1P" << "D1P" << "S1P" 
@@ -383,5 +391,6 @@
   // Copy Skeleton Header
   // --------------------
-  readSkeleton();
+  bool obsTypesFound;
+  readSkeleton(obsTypesFound);
   if (_header._markerName.isEmpty()) {
     _header._markerName = _statID;
Index: trunk/BNC/src/bncrinex.h
===================================================================
--- trunk/BNC/src/bncrinex.h	(revision 4500)
+++ trunk/BNC/src/bncrinex.h	(revision 4501)
@@ -55,5 +55,5 @@
    static std::string obsToStr(double val, int width = 14, int precision = 3);
    void resolveFileName(const QDateTime& datTim);
-   void readSkeleton();
+   void readSkeleton(bool& obsTypesFound);
    void writeHeader(const QByteArray& format, const QDateTime& datTimNom);
    void closeFile();
