Index: trunk/BNC/src/bncoutf.cpp
===================================================================
--- trunk/BNC/src/bncoutf.cpp	(revision 8317)
+++ trunk/BNC/src/bncoutf.cpp	(revision 8320)
@@ -152,5 +152,6 @@
   baseName.replace("${GPSWD}", gpswd);
   baseName.replace("${V3}" , QString("_U_%1%2").arg(yyyy).arg(doy));
-
+  if (_extension.count(".") == 2) {_extension.replace(0,1,"_"); }
+  
   return _path + baseName + epoStr + _extension;
 }
Index: trunk/BNC/src/pppRun.cpp
===================================================================
--- trunk/BNC/src/pppRun.cpp	(revision 8317)
+++ trunk/BNC/src/pppRun.cpp	(revision 8320)
@@ -122,5 +122,5 @@
     connect(BNC_CMB, SIGNAL(newClkCorrections(QList<t_clkCorr>)),
             this, SLOT(slotNewClkCorrections(QList<t_clkCorr>)),conType);
-            
+
     connect(BNC_CORE, SIGNAL(providerIDChanged(QString)),
             this, SLOT(slotProviderIDChanged(QString)));
@@ -140,5 +140,5 @@
   _stopFlag = false;
 
-  QString roverName(_opt->_roverName.c_str()), fullRoverName("");
+  QString roverName(_opt->_roverName.c_str()), ID9("");
   QString country;
   QString monNum = "0";
@@ -146,7 +146,16 @@
   QString intr = "1 day";
   int     sampl  = 0;
+  QString distStr;
+  int num = 0;
+  int statIDlength = roverName.size() -1;
+  QString ID4 = roverName.left(4);
+  ID4 = ID4.toUpper();
   QListIterator<QString> it(settings.value("mountPoints").toStringList());
   while (it.hasNext()) {
-    QStringList hlp = it.next().split(" ");
+    QString mp = it.next();
+    if (mp.indexOf(roverName.left(statIDlength)) != -1) {
+      ++num;
+    }
+    QStringList hlp = mp.split(" ");
     if (hlp.size() < 7)
       continue;
@@ -155,8 +164,13 @@
     }
   }
-  fullRoverName = roverName.left(4) +
-                  QString("%1").arg(monNum, 1, 10) +
-                  QString("%1").arg(recNum, 1, 10) +
-                  country;
+
+  if (num > 1) {
+    distStr = "." + roverName.right(1);
+  }
+
+  ID9 = ID4 +
+        QString("%1").arg(monNum, 1, 10) +
+        QString("%1").arg(recNum, 1, 10) +
+        country;
 
   bool v3filenames = settings.value("PPP/v3filenames").toBool();
@@ -171,8 +185,8 @@
     }
     if (v3filenames) {
-      logFileSkl = logFileSkl + fullRoverName + "${V3}" + ".ppp";
+      logFileSkl = logFileSkl + ID9 + "${V3}" + distStr + ".ppp";
     }
     else {
-      logFileSkl = logFileSkl + roverName.left(4) + "${GPSWD}" + ".ppp";
+      logFileSkl = logFileSkl + ID4 + "${GPSWD}" + distStr + ".ppp";
     }
     _logFile = new bncoutf(logFileSkl, intr, sampl);
@@ -189,12 +203,11 @@
     }
     if (v3filenames) {
-      nmeaFileSkl = nmeaFileSkl + fullRoverName + "${V3}" + ".nmea";
+      nmeaFileSkl = nmeaFileSkl + ID9 + "${V3}" + distStr + ".nmea";
     }
     else {
-      nmeaFileSkl = nmeaFileSkl + roverName.left(4) + "${GPSWD}" + ".nmea";
+      nmeaFileSkl = nmeaFileSkl + ID4 + "${GPSWD}" + distStr + ".nmea";
     }
     _nmeaFile = new bncoutf(nmeaFileSkl, intr, sampl);
   }
-
   QString snxtroFileSkl = settings.value("PPP/snxtroPath").toString();
   l = snxtroFileSkl.length();
@@ -207,8 +220,8 @@
     }
     if (v3filenames) {
-      snxtroFileSkl = snxtroFileSkl + fullRoverName + "${V3}" + ".tra";
+      snxtroFileSkl = snxtroFileSkl + ID9 + "${V3}" + distStr + ".tra";
     }
     else {
-      snxtroFileSkl = snxtroFileSkl + roverName.left(4) + "${GPSWD}" + ".tro";
+      snxtroFileSkl = snxtroFileSkl + ID4 + "${GPSWD}" + distStr + ".tro";
     }
     sampl = settings.value("PPP/snxtroSampl").toInt();
