Index: trunk/FACT++/src/DimState.h
===================================================================
--- trunk/FACT++/src/DimState.h	(revision 14551)
+++ trunk/FACT++/src/DimState.h	(revision 14552)
@@ -11,5 +11,5 @@
 #include "Description.h"
 #include "StateMachineImp.h"
-
+#include<iostream>
 class DimState
 {
@@ -409,10 +409,17 @@
     std::vector<std::string> fServiceList;
 
+    std::set<std::string> fServers;
+
     void CallbackServerAdd(const std::string &server)
     {
+        DimDnsServerList::CallbackServerAdd(server);
+
+        if (fServers.find(server)!=fServers.end())
+            return;
+
         fStateMachine->Subscribe(server+"/SERVICE_LIST")
             (fStateMachine->Wrap(std::bind(&DimDnsServiceList::HandlerServiceList, this, std::placeholders::_1)));
 
-        DimDnsServerList::CallbackServerAdd(server);
+        fServers.insert(server);
     }
 
