Index: /trunk/FACT++/src/DimNetwork.cc
===================================================================
--- /trunk/FACT++/src/DimNetwork.cc	(revision 10438)
+++ /trunk/FACT++/src/DimNetwork.cc	(revision 10439)
@@ -3,5 +3,5 @@
 StateClient::StateClient(const std::string &name, MessageImp &imp) :
     MessageDimRX(name, imp), fState(-2),
-    fInfoState((name + "/STATE").c_str(), const_cast<char*>(""), this)
+    fInfoState((name + "/STATE").c_str(), const_cast<char*>(""), 0, this)
 {
 }
@@ -20,7 +20,7 @@
     if (curr==&fInfoState)
     {
-        const char *txt = fInfoState.getString();
+        const bool disconnected = fInfoState.getSize()==0;
 
-        fState     = strlen(txt)==0 ? -2 : fInfoState.getQuality();
+        fState     = disconnected ? -2 : fInfoState.getQuality();
         fStateTime = Time(fInfoState.getTimestamp(),
                           fInfoState.getTimestampMillisecs()*1000);
@@ -28,5 +28,6 @@
         const string name = fInfoState.getName();
 
-        fMsg.StateChanged(fStateTime, name.substr(0, name.length()-6), txt, fState);
+        fMsg.StateChanged(fStateTime, name.substr(0, name.length()-6),
+                          disconnected ? "" : fInfoState.getString(), fState);
 
         return;
Index: /trunk/FACT++/src/DimNetwork.h
===================================================================
--- /trunk/FACT++/src/DimNetwork.h	(revision 10438)
+++ /trunk/FACT++/src/DimNetwork.h	(revision 10439)
@@ -22,5 +22,5 @@
     int  fState;               /// -2 not initialized, -1 not connected, 0>= state of client
 
-    DimStampedInfo fInfoState; /// The dim service subscription
+    DimNetworkInfo fInfoState; /// The dim service subscription
 
 protected:
@@ -33,5 +33,5 @@
     int  GetState() const    { return fState;    }
 
-    const char *GetName() const { return const_cast<DimStampedInfo&>(fInfoState).getName(); }
+    const char *GetName() const { return const_cast<DimNetworkInfo&>(fInfoState).getName(); }
 };
 
Index: /trunk/FACT++/src/MessageDim.cc
===================================================================
--- /trunk/FACT++/src/MessageDim.cc	(revision 10438)
+++ /trunk/FACT++/src/MessageDim.cc	(revision 10439)
@@ -112,5 +112,5 @@
 MessageDimRX::MessageDimRX(const std::string &name, MessageImp &imp)
 : fMinLogLevel(0), fConnected(false), fMsg(imp),
-fDimMessage((name+"/MESSAGE").c_str(), const_cast<char*>(""), this)
+fDimMessage((name+"/MESSAGE").c_str(), const_cast<char*>(""), 0, this)
 {
 }
@@ -127,13 +127,12 @@
         return;
 
+    fConnected = getInfo()->getSize()!=0;
+
     // The server is diconnected. Do nothing
-    if (getInfo()->getTimestamp()==0 || getInfo()->getSize()==1)
+    if (!fConnected)
     {
-        fConnected=false;
         fMsg.Message("Disconnected.");
         return;
     }
-
-    fConnected=true;
 
     // skip all messages with a severity smaller than the minimum log level
Index: /trunk/FACT++/src/MessageDim.h
===================================================================
--- /trunk/FACT++/src/MessageDim.h	(revision 10438)
+++ /trunk/FACT++/src/MessageDim.h	(revision 10439)
@@ -26,4 +26,15 @@
 #include <dic.hxx> // DimStampedInfo
 
+class DimNetworkInfo : public DimStampedInfo
+{
+public:
+    DimNetworkInfo(const char *name, const char *nolink, int size, DimInfoHandler *ptr)
+        : DimStampedInfo(name, const_cast<char*>(nolink), size, ptr)
+    {
+        secs      = 0;
+        millisecs = 0;
+    }
+};
+
 class MessageDimRX : public DimInfoHandler
 {
@@ -36,5 +47,5 @@
 
 private:
-    DimStampedInfo fDimMessage;
+    DimNetworkInfo fDimMessage;
 
 protected:
@@ -49,2 +60,16 @@
 
 #endif
+
+// **************************************************************************
+/** @class DimNetworkInfo
+
+@brief Direct derivative of DimStampedInfo
+
+Since secs and millisecs are not initialized in the base class
+valgrind throws a couple of warnings debugging applications.
+
+This derivative just initialized them with 0. It will be removed as
+soon as the initialization was done in Dim itself.
+
+**/
+// **************************************************************************
