diff --git a/lib/watcher/__init__.py b/lib/watcher/__init__.py
index b7efac3919eeac9dc5f5d8848c6fd5ea3e17d333..915dea031e6c7a153f491b57ecfa43f9197ffa16 100644
--- a/lib/watcher/__init__.py
+++ b/lib/watcher/__init__.py
@@ -92,7 +92,8 @@ def StartNodeDaemons():
   # on master or not, try to start the node daemon
   utils.EnsureDaemon(constants.NODED)
   # start confd as well. On non candidates it will be in disabled mode.
-  utils.EnsureDaemon(constants.CONFD)
+  if constants.ENABLE_CONFD:
+    utils.EnsureDaemon(constants.CONFD)
 
 
 def RunWatcherHooks():
diff --git a/lib/watcher/nodemaint.py b/lib/watcher/nodemaint.py
index 33be4f13a7dc383fd578b7fe739783b5fbd94d54..6cb2a48ded8bd8c72792f346a09ebda5d9a2ccd5 100644
--- a/lib/watcher/nodemaint.py
+++ b/lib/watcher/nodemaint.py
@@ -130,6 +130,10 @@ class NodeMaintenance(object):
     """Check node status versus cluster desired state.
 
     """
+    if not constants.ENABLE_CONFD:
+      logging.warning("Confd use not enabled, cannot do maintenance")
+      return
+
     my_name = netutils.Hostname.GetSysName()
     req = \
       confd.client.ConfdClientRequest(type=constants.CONFD_REQ_NODE_ROLE_BYNAME,