Index: /trunk/BNC/bncgetthread.cpp
===================================================================
--- /trunk/BNC/bncgetthread.cpp	(revision 277)
+++ /trunk/BNC/bncgetthread.cpp	(revision 278)
@@ -34,5 +34,6 @@
 // Constructor
 ////////////////////////////////////////////////////////////////////////////
-bncGetThread::bncGetThread(const QUrl& mountPoint, const QByteArray& format) {
+bncGetThread::bncGetThread(const QUrl& mountPoint, 
+                           const QByteArray& format, int iMount) {
   _decoder    = 0;
   _mountPoint = mountPoint;
@@ -43,4 +44,5 @@
   _timeOut    = 20*1000;  // 20 seconds
   _nextSleep  =  1;       //  1 second
+  _iMount     = iMount;   // index in mountpoints array
 
   // Check name conflict
@@ -49,18 +51,19 @@
   QListIterator<QString> it(settings.value("mountPoints").toStringList());
   int num = 0;
-  int ind = 0;
+  int ind = -1;
   while (it.hasNext()) {
+    ++ind;
     QStringList hlp = it.next().split(" ");
     if (hlp.size() <= 1) continue;
     QUrl url(hlp[0]);
     if (_mountPoint.path() == url.path()) {
-      ++num;
-      if (_mountPoint.host() == url.host()) {
-        ind = num - 1;
-      }
-    }
-  }
-  if (num > 1) {
-    _staID = _staID.left(_staID.length()-1) + QString("%1").arg(ind).toAscii();
+      if (_iMount > ind) {
+        ++num;
+      }
+    }
+  }
+
+  if (num > 0) {
+    _staID = _staID.left(_staID.length()-1) + QString("%1").arg(num).toAscii();
   }    
 }
Index: /trunk/BNC/bncgetthread.h
===================================================================
--- /trunk/BNC/bncgetthread.h	(revision 277)
+++ /trunk/BNC/bncgetthread.h	(revision 278)
@@ -13,5 +13,6 @@
 
  public:
-   bncGetThread(const QUrl& mountPoint, const QByteArray& format);
+   bncGetThread(const QUrl& mountPoint, 
+                const QByteArray& format, int iMount);
    ~bncGetThread();
 
@@ -42,4 +43,5 @@
    int         _timeOut;
    int         _nextSleep;
+   int         _iMount;
 };
 
Index: /trunk/BNC/bncmain.cpp
===================================================================
--- /trunk/BNC/bncmain.cpp	(revision 277)
+++ /trunk/BNC/bncmain.cpp	(revision 278)
@@ -85,11 +85,13 @@
                 &app, SLOT(slotMessage(const QByteArray&)));
 
+    int iMount = -1;
     QListIterator<QString> it(settings.value("mountPoints").toStringList());
     while (it.hasNext()) {
+      ++iMount;
       QStringList hlp = it.next().split(" ");
       if (hlp.size() <= 1) continue;
       QUrl url(hlp[0]);
       QByteArray format = hlp[1].toAscii();
-      bncGetThread* getThread = new bncGetThread(url, format);
+      bncGetThread* getThread = new bncGetThread(url, format, iMount);
       app.connect(getThread, SIGNAL(newMessage(const QByteArray&)), 
                   &app, SLOT(slotMessage(const QByteArray&)));
Index: /trunk/BNC/bncwindow.cpp
===================================================================
--- /trunk/BNC/bncwindow.cpp	(revision 277)
+++ /trunk/BNC/bncwindow.cpp	(revision 278)
@@ -393,5 +393,5 @@
     QByteArray format = _mountPointsTable->item(iRow, 2)->text().toAscii();
 
-    bncGetThread* getThread = new bncGetThread(url, format);
+    bncGetThread* getThread = new bncGetThread(url, format, iRow);
 
     connect(getThread, SIGNAL(newMessage(const QByteArray&)), 
