Index: /branches/BNC_2.12/src/bncrinex.cpp
===================================================================
--- /branches/BNC_2.12/src/bncrinex.cpp	(revision 8642)
+++ /branches/BNC_2.12/src/bncrinex.cpp	(revision 8643)
@@ -335,6 +335,12 @@
 
   int statIDlength = _statID.size() -1;
-  QString ID4 = _statID.left(4);
-  ID4 = ID4.toUpper();
+  QString ID;
+  if (_rnxV3) {
+    ID = _statID.left(9);
+  }
+  else {
+    ID = _statID.left(4);
+  }
+  ID = ID.toUpper();
 
   // Check name conflict
@@ -357,7 +363,7 @@
   if (!sklExt.isEmpty()) {
     if (sklExt.indexOf("skl",0, Qt::CaseSensitive) != -1)  {
-      sklPre = ID4.toLower();
+      sklPre = ID.toLower();
     } else if (sklExt.indexOf("SKL",0, Qt::CaseSensitive) != -1) {
-      sklPre = ID4.toUpper();
+      sklPre = ID;
     }
     _sklName = path + sklPre + distStr + "." + sklExt;
@@ -378,5 +384,5 @@
     }
 
-    path += ID4 +
+    path += ID.left(4) +
             QString("%1").arg(monNum, 1, 10) +
             QString("%1").arg(recNum, 1, 10) +
@@ -392,5 +398,5 @@
   }
   else {
-    path += ID4 +
+    path += ID.left(4) +
             QString("%1").arg(datTim.date().dayOfYear(), 3, 10, QChar('0')) +
             hlpStr + distStr + datTim.toString(".yyO");
