Index: trunk/BNC/bnctabledlg.cpp
===================================================================
--- trunk/BNC/bnctabledlg.cpp	(revision 1476)
+++ trunk/BNC/bnctabledlg.cpp	(revision 1477)
@@ -71,4 +71,5 @@
   _casterHostComboBox->setDuplicatesEnabled(false);
   _casterHostComboBox->setEditable(true);
+  _casterHostComboBox->setMinimumWidth(20*ww);
   _casterHostComboBox->setMaximumWidth(20*ww);
   connect(_casterHostComboBox, SIGNAL(currentIndexChanged(const QString&)),
@@ -290,4 +291,9 @@
 void bncTableDlg::accept() {
 
+  QSettings settings;
+  settings.setValue("casterHost", _casterHostComboBox->currentText());
+  settings.setValue("ntripVersion", _ntripVersionComboBox->currentText());
+  settings.sync();
+
   QUrl url;
   url.setHost(_casterHostComboBox->currentText());
@@ -295,12 +301,5 @@
   url.setUserName(_casterUserLineEdit->text());
   url.setPassword(_casterPasswordLineEdit->text());
-
-  QSettings settings;
-  settings.setValue("casterHost", _casterHostComboBox->currentText());
-  settings.setValue("ntripVersion", _ntripVersionComboBox->currentText());
-  QStringList casterUrlList = settings.value("casterUrlList").toStringList();
-  casterUrlList << url.toString();
-  settings.setValue("casterUrlList", casterUrlList);
-  settings.sync();
+  addUrl(url);
 
   QStringList* mountPoints = new QStringList;
@@ -554,9 +553,23 @@
   url.setHost(newCasterHost);
   url.setPort(newCasterPort.toInt());
-
+  addUrl(url);
+}
+
+// New caster selected
+////////////////////////////////////////////////////////////////////////////
+void bncTableDlg::addUrl(const QUrl& url) {
   QSettings settings;
-  QStringList casterUrlList = settings.value("casterUrlList").toStringList();
-  casterUrlList << url.toString();
-  settings.setValue("casterUrlList", casterUrlList);
+  QStringList oldUrlList = settings.value("casterUrlList").toStringList();
+  QStringList newUrlList;
+  for (int ii = 0; ii < oldUrlList.count(); ii++) {
+    QUrl oldUrl(oldUrlList[ii]);
+    if (url.host() == oldUrl.host()) {
+      newUrlList << url.toString();
+    }
+    else {
+      newUrlList << oldUrl.toString();
+    }
+  }
+  settings.setValue("casterUrlList", newUrlList);
   settings.sync();
 }
Index: trunk/BNC/bnctabledlg.h
===================================================================
--- trunk/BNC/bnctabledlg.h	(revision 1476)
+++ trunk/BNC/bnctabledlg.h	(revision 1477)
@@ -73,4 +73,5 @@
 
   private:
+    void addUrl(const QUrl& url);
     QComboBox*   _casterHostComboBox;
     QLineEdit*   _casterPortLineEdit;
