Index: /trunk/BNC/bncwindow.cpp
===================================================================
--- /trunk/BNC/bncwindow.cpp	(revision 3786)
+++ /trunk/BNC/bncwindow.cpp	(revision 3787)
@@ -126,5 +126,5 @@
   _actStop = new QAction(tr("Sto&p"),this);
   connect(_actStop, SIGNAL(triggered()), SLOT(slotStop()));
-  _actStop->setEnabled(false);
+  enableStartStop();
 
   _actwhatsthis= new QAction(tr("Help ?=Shift+F1"),this);
@@ -1230,7 +1230,4 @@
 
   QListIterator<QString> it(settings.value("mountPoints").toStringList());
-  if (!it.hasNext()) {
-    _actStart->setEnabled(false);
-  }
   int iRow = 0;
   while (it.hasNext()) {
@@ -1294,4 +1291,6 @@
 
   _mountPointsTable->sortItems(1);
+
+  enableStartStop();
 }
 
@@ -1361,4 +1360,6 @@
     // Cancel
   }
+
+  enableStartStop();
 }
 
@@ -1384,7 +1385,5 @@
   _actDeleteMountPoints->setEnabled(false);
 
-  if (_mountPointsTable->rowCount() == 0) {
-    _actStart->setEnabled(false);
-  }
+  enableStartStop();
 }
 
@@ -1451,8 +1450,7 @@
   _mountPointsTable->hideColumn(0);
   _mountPointsTable->sortItems(1);
-  if (mountPoints->count() > 0 && !_actStop->isEnabled()) {
-    _actStart->setEnabled(true);
-  }
   delete mountPoints;
+
+  enableStartStop();
 }
 
@@ -1652,6 +1650,5 @@
   delete _caster;    _caster    = 0;
   delete _casterEph; _casterEph = 0;
-  _actStart->setEnabled(true);
-  _actStop->setEnabled(false);
+  _runningRealTime = false;
 }
 
@@ -1675,9 +1672,11 @@
 void bncWindow::startRealTime() {
 
+  _runningRealTime = true;
+
   _bncFigurePPP->reset();
 
   _actDeleteMountPoints->setEnabled(false);
-  _actStart->setEnabled(false);
-  _actStop->setEnabled(true);
+
+  enableStartStop();
 
   _caster = new bncCaster(_outFileLineEdit->text(), 
@@ -1742,6 +1741,5 @@
     delete _caster;    _caster    = 0;
     delete _casterEph; _casterEph = 0;
-    _actStart->setEnabled(true);
-    _actStop->setEnabled(false);
+    _runningRealTime = false;
   }
 }
@@ -2353,5 +2351,5 @@
                            "Post-Processing Thread Finished");
   _actStart->setText("Start");
-  _actStart->setEnabled(true);
+  enableStartStop();
 }
 
@@ -2388,2 +2386,31 @@
   delete dlg;
 }
+
+// Enable/Disable Start and Stop Buttons
+////////////////////////////////////////////////////////////////////////////
+void bncWindow::enableStartStop() {
+
+  if      ( _pppSPPComboBox->currentText() == "Post-Processing" ) {
+    _actStart->setEnabled(true);
+    _actStop->setEnabled(false);
+  }
+  else if ( !_teqcActionComboBox->currentText().isEmpty() ) {
+    _actStart->setEnabled(true);
+    _actStop->setEnabled(false);
+  }
+  else {
+    if (_runningRealTime) {
+      _actStart->setEnabled(false);
+      _actStop->setEnabled(true);
+    }
+    else {
+      _actStop->setEnabled(false);
+      if (_mountPointsTable->rowCount() == 0) {
+        _actStart->setEnabled(false);
+      }
+      else {
+        _actStart->setEnabled(true);
+      }
+    }
+  }
+}
Index: /trunk/BNC/bncwindow.h
===================================================================
--- /trunk/BNC/bncwindow.h	(revision 3786)
+++ /trunk/BNC/bncwindow.h	(revision 3787)
@@ -103,4 +103,5 @@
     void startPostProcessingPPP();
     void startPostProcessingTeqc();
+    void enableStartStop();
 
     QMenu*     _menuHlp;
