Index: trunk/BNC/src/bnccore.cpp
===================================================================
--- trunk/BNC/src/bnccore.cpp	(revision 9768)
+++ trunk/BNC/src/bnccore.cpp	(revision 9770)
@@ -493,17 +493,19 @@
                                const QString& strV2, const QString& strV3,
                                const QString& strV4) {
+  QString strVx;
+  if     (_rinexVers == 2) {
+    strVx = strV2;
+  }
+  else if (_rinexVers == 3) {
+    strVx = strV3;
+  }
+  else if (_rinexVers == 4) {
+    strVx = strV4;
+  }
 
   // Output into file
   // ----------------
   if (printFile && stream) {
-    if     (_rinexVers == 2) {
-      *stream << strV2.toLatin1();
-    }
-    else if (_rinexVers == 3) {
-      *stream << strV3.toLatin1();
-    }
-    else if (_rinexVers == 4) {
-      *stream << strV4.toLatin1();
-    }
+    *stream << strVx.toLatin1();
     stream->flush();
   }
@@ -516,5 +518,5 @@
       QTcpSocket* sock = is.next();
       if (sock->state() == QAbstractSocket::ConnectedState) {
-        if (sock->write(strV3.toLatin1()) == -1) {
+        if (sock->write(strVx.toLatin1()) == -1) {
           delete sock;
           is.remove();
Index: trunk/BNC/src/rinex/reqcedit.cpp
===================================================================
--- trunk/BNC/src/rinex/reqcedit.cpp	(revision 9768)
+++ trunk/BNC/src/rinex/reqcedit.cpp	(revision 9770)
@@ -66,8 +66,8 @@
     _rnxVersion = defaultRnxObsVersion2;
   }
-  if (version == 3) {
+  else if (version == 3) {
     _rnxVersion = defaultRnxObsVersion3;
   }
-  if (version == 4) {
+  else if (version == 4) {
     _rnxVersion = defaultRnxObsVersion4;
   }
Index: trunk/BNC/src/rinex/rnxobsfile.cpp
===================================================================
--- trunk/BNC/src/rinex/rnxobsfile.cpp	(revision 9768)
+++ trunk/BNC/src/rinex/rnxobsfile.cpp	(revision 9770)
@@ -65,4 +65,5 @@
   bncSettings settings;
   _writeRinexOnlyWithSklObsTypes = settings.value("rnxOnlyWithSKL").toBool();
+
 }
 
@@ -71,4 +72,18 @@
 t_rnxObsHeader::~t_rnxObsHeader() {
 }
+
+double t_rnxObsHeader::versionFromInt(int version) {
+  switch (version) {
+    case 2:
+      return defaultRnxObsVersion2;
+    case 3:
+      return defaultRnxObsVersion3;
+    case 4:
+      return defaultRnxObsVersion4;
+    default:
+      return defaultRnxObsVersion3;
+  }
+}
+
 
 // Read Header
@@ -175,5 +190,5 @@
     else if (key == "# / TYPES OF OBSERV") {
       if (_version == 0.0) {
-        _version = defaultRnxObsVersion3;
+        _version = defaultRnxObsVersion2;
       }
       QTextStream* in = new QTextStream(value.toLatin1(), QIODevice::ReadOnly);
@@ -199,5 +214,6 @@
     else if (key == "SYS / # / OBS TYPES") {
       if (_version == 0.0) {
-        _version = defaultRnxObsVersion3;
+        bncSettings settings;
+        _version = versionFromInt(settings.value("rnxVersion").toInt());
       }
       QTextStream* in = new QTextStream(value.toLatin1(), QIODevice::ReadOnly);
@@ -315,13 +331,5 @@
   _markerName = markerName;
 
-  if (version == 2) {
-    _version = defaultRnxObsVersion2;
-  }
-  else if (version == 3) {
-    _version = defaultRnxObsVersion3;
-  }
-  else if (version == 4) {
-    _version = defaultRnxObsVersion4;
-  }
+  _version = versionFromInt(version);
 
   _comments << "Default set of observation types used";
Index: trunk/BNC/src/rinex/rnxobsfile.h
===================================================================
--- trunk/BNC/src/rinex/rnxobsfile.h	(revision 9768)
+++ trunk/BNC/src/rinex/rnxobsfile.h	(revision 9770)
@@ -52,4 +52,5 @@
 
   double      version() const {return _version;}
+  double      versionFromInt(int version);
   t_irc       read(QTextStream* stream, int maxLines = 0);
   void        setDefault(const QString& markerName, int version);
