Index: /trunk/BNC/bnccaster.cpp
===================================================================
--- /trunk/BNC/bnccaster.cpp	(revision 386)
+++ /trunk/BNC/bnccaster.cpp	(revision 387)
@@ -120,4 +120,6 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncCaster::reconnecting(const QByteArray& staID) {
+  QMutexLocker locker(&_mutex);
+
   if (_rinexWriters.find(staID) != _rinexWriters.end()) {
     bncRinex* rnx = _rinexWriters.find(staID).value();
Index: /trunk/BNC/bnctableitem.cpp
===================================================================
--- /trunk/BNC/bnctableitem.cpp	(revision 386)
+++ /trunk/BNC/bnctableitem.cpp	(revision 387)
@@ -59,4 +59,6 @@
 void bncTableItem::slotNewObs(const QByteArray&, Observation* obs) {
 
+  QMutexLocker locker(&_mutex);
+
   _bytesRead += sizeof(*obs);
 
Index: /trunk/BNC/bnctableitem.h
===================================================================
--- /trunk/BNC/bnctableitem.h	(revision 386)
+++ /trunk/BNC/bnctableitem.h	(revision 387)
@@ -46,4 +46,5 @@
   private:
     double _bytesRead;
+    QMutex _mutex;
 };
 
