Index: /trunk/FACT++/src/datalogger.cc
===================================================================
--- /trunk/FACT++/src/datalogger.cc	(revision 14568)
+++ /trunk/FACT++/src/datalogger.cc	(revision 14569)
@@ -78,5 +78,5 @@
 
 #include "Description.h"
-#include "DimNetwork.h"
+//#include "DimNetwork.h"
 
 #ifdef HAVE_FITS
@@ -472,4 +472,15 @@
     if (server != "DIS_DNS")
     {
+        for (auto it=fServerDescriptionsList.begin(); it != fServerDescriptionsList.end(); it++)
+            if ((*it)->server == server)
+            {
+                if (fDebugIsOn)
+                {
+                    ostringstream str;
+                    str << "Already got description for server " << server << ". Ignoring." << endl;
+                    Debug(str.str());
+                    return;
+                }
+            }
         DimDescriptions* d = new DimDescriptions(server);
         d->SetCallbackDescriptions(bind(&DataLogger::HandleDescriptions, this, d));
@@ -985,4 +996,5 @@
 //        Debug(str.str());
 //    }
+
     if ((GetCurrentState() == kSM_Ready) &&  (!fAutoStarted) && fShouldAutoStart)
     {
@@ -1014,9 +1026,30 @@
             break;
     }
+
+    if (!found && fDebugIsOn)
+    {
+        ostringstream str;
+        str << "Service " << evt.GetName() << " not found in subscriptions" << endl;
+        Debug(str.str());
+    }
     if (!found)
         return GetCurrentState();
 
+
+    if (evt.GetSize() == 0 && fDebugIsOn)
+    {
+        ostringstream str;
+        str << "Got 0 size for " << evt.GetName() << endl;
+        Debug(str.str());
+    }
     if (evt.GetSize() == 0)
         return GetCurrentState();
+
+    if (evt.GetFormat() == "" && fDebugIsOn)
+    {
+        ostringstream str;
+        str << "Got no format for " << evt.GetName() << endl;
+        Debug(str.str());
+    }
     if (evt.GetFormat() == "")
         return GetCurrentState();
@@ -1208,5 +1241,5 @@
     const Time cTime(evt.GetTime());
     fQuality = evt.GetQoS();
-    //I had strange surprises with the quality from Dim before. Double check that the value is indeed valid.
+/*    //I had strange surprises with the quality from Dim before. Double check that the value is indeed valid.
     if (fQuality != kMessage &&
         fQuality != kInfo &&
@@ -1217,4 +1250,5 @@
         fQuality != kDebug)
         fQuality = kError;
+*/
     fMjD = cTime.Mjd() ? cTime.Mjd()-40587 : 0;
 
