Index: /trunk/BNC/src/bnctabledlg.cpp
===================================================================
--- /trunk/BNC/src/bnctabledlg.cpp	(revision 11115)
+++ /trunk/BNC/src/bnctabledlg.cpp	(revision 11116)
@@ -282,4 +282,9 @@
     "misc").split(",");
 
+  // STR lines are accepted if they contain at least the fields up to 'nmea'
+  // (needed to add a stream); missing trailing fields of incomplete source
+  // table entries are left empty
+  // -------------------------------------------------------------------------
+  const int MIN_FIELDS = 12; // STR + mountpoint ... nmea
   QStringList lines;
   QStringListIterator it(_allLines);
@@ -288,5 +293,5 @@
     if (line.indexOf("STR") == 0) {
       QStringList hlp = line.split(";");
-      if (hlp.size() > labels.size()) {
+      if (hlp.size() >= MIN_FIELDS) {
         lines.push_back(line);
       }
@@ -301,5 +306,8 @@
     for (int nRow = 0; nRow < lines.size(); nRow++) {
       QStringList columns = lines[nRow].split(";");
-      for (int ic = 1; ic < columns.size(); ic++) {
+      while (columns.size() <= labels.size()) {
+        columns << QString();
+      }
+      for (int ic = 1; ic <= labels.size(); ic++) {
             if (ic == 11) {
           if (columns[ic] == "0") {
