Index: trunk/BNC/rnxobsfile.cpp
===================================================================
--- trunk/BNC/rnxobsfile.cpp	(revision 3706)
+++ trunk/BNC/rnxobsfile.cpp	(revision 3707)
@@ -103,13 +103,19 @@
     }
     else if (key == "SYS / # / OBS TYPES") {
-      QTextStream in(value.toAscii(), QIODevice::ReadOnly);
+      QTextStream* in = new QTextStream(value.toAscii(), QIODevice::ReadOnly);
       char sys;
       int nTypes;
-      in >> sys >> nTypes;
+      *in >> sys >> nTypes;
       for (int ii = 0; ii < nTypes; ii++) {
+        if (ii > 0 && ii % 13 == 0) {
+          line = stream->readLine();
+          delete in;
+          in = new QTextStream(line.toAscii(), QIODevice::ReadOnly);
+        }
         QString hlp;
-        in >> hlp;
+        *in >> hlp;
         _obsTypesV3[sys] << hlp;
       }
+      delete in;
     }
   }
Index: trunk/BNC/rnxobsfile.h
===================================================================
--- trunk/BNC/rnxobsfile.h	(revision 3706)
+++ trunk/BNC/rnxobsfile.h	(revision 3707)
@@ -48,5 +48,5 @@
       else {
         if (_obsTypesV3.find(sys) != _obsTypesV3.end()) {
-          return _obsTypesV3.size();
+          return _obsTypesV3[sys].size();
         }
         else {
