diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index d29631aea8a95b0dc36a65669160348f67f98c67..a0dced12a714659c1e01ac102b328764263bd7c0 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -6530,7 +6530,13 @@ class _ClusterQuery(_QueryBase):
       drain_flag = NotImplemented
 
     if query.CQ_WATCHER_PAUSE in self.requested_data:
-      watcher_pause = utils.ReadWatcherPauseFile(pathutils.WATCHER_PAUSEFILE)
+      master_name = lu.cfg.GetMasterNode()
+
+      result = lu.rpc.call_get_watcher_pause(master_name)
+      result.Raise("Can't retrieve watcher pause from master node '%s'" %
+                   master_name)
+
+      watcher_pause = result.payload
     else:
       watcher_pause = NotImplemented
 
diff --git a/lib/rpc_defs.py b/lib/rpc_defs.py
index 449b50ad853044361bb62173315ae9531b4cb2f4..20c349a7cb388f28c26f3843156a6c500cabc27e 100644
--- a/lib/rpc_defs.py
+++ b/lib/rpc_defs.py
@@ -505,6 +505,8 @@ _MISC_CALLS = [
     ("hvname", None, "Hypervisor name"),
     ("hvfull", None, "Parameters to be validated"),
     ], None, None, "Validate hypervisor params"),
+  ("get_watcher_pause", SINGLE, None, constants.RPC_TMO_URGENT, [],
+    None, None, "Get watcher pause end"),
   ("set_watcher_pause", MULTI, None, constants.RPC_TMO_URGENT, [
     ("until", None, None),
     ], None, None, "Set watcher pause end"),
diff --git a/lib/server/noded.py b/lib/server/noded.py
index 0a1d0d6d51109ffdcc794c0a44a6036310b86d35..c6d653c3b0c8f7ef625587edf208940747dc9227 100644
--- a/lib/server/noded.py
+++ b/lib/server/noded.py
@@ -827,6 +827,13 @@ class NodeRequestHandler(http.server.HttpServerHandler):
     (values,) = params
     return ssconf.WriteSsconfFiles(values)
 
+  @staticmethod
+  def perspective_get_watcher_pause(params):
+    """Get watcher pause end.
+
+    """
+    return utils.ReadWatcherPauseFile(pathutils.WATCHER_PAUSEFILE)
+
   @staticmethod
   def perspective_set_watcher_pause(params):
     """Set watcher pause.