diff --git a/lib/rpc.py b/lib/rpc.py
index bf854046f7ebda156b2cecab0c325700508a3562..954beb7d62d031cd1c4741d7d14cc3e37bbca233 100644
--- a/lib/rpc.py
+++ b/lib/rpc.py
@@ -584,14 +584,16 @@ class RpcRunner(_RpcClientBase,
   """RPC runner class.
 
   """
-  def __init__(self, context):
+  def __init__(self, cfg, lock_monitor_cb, _req_process_fn=None, _getents=None):
     """Initialized the RPC runner.
 
-    @type context: C{masterd.GanetiContext}
-    @param context: Ganeti context
+    @type cfg: L{config.ConfigWriter}
+    @param cfg: Configuration
+    @type lock_monitor_cb: callable
+    @param lock_monitor_cb: Lock monitor callback
 
     """
-    self._cfg = context.cfg
+    self._cfg = cfg
 
     encoders = _ENCODERS.copy()
 
@@ -603,15 +605,16 @@ class RpcRunner(_RpcClientBase,
       })
 
     # Resolver using configuration
-    resolver = compat.partial(_NodeConfigResolver, self._cfg.GetNodeInfo,
-                              self._cfg.GetAllNodesInfo)
+    resolver = compat.partial(_NodeConfigResolver, cfg.GetNodeInfo,
+                              cfg.GetAllNodesInfo)
 
     # Pylint doesn't recognize multiple inheritance properly, see
     # <http://www.logilab.org/ticket/36586> and
     # <http://www.logilab.org/ticket/35642>
     # pylint: disable=W0233
     _RpcClientBase.__init__(self, resolver, encoders.get,
-                            lock_monitor_cb=context.glm.AddToLockMonitor)
+                            lock_monitor_cb=lock_monitor_cb,
+                            _req_process_fn=_req_process_fn)
     _generated_rpc.RpcClientConfig.__init__(self)
     _generated_rpc.RpcClientBootstrap.__init__(self)
     _generated_rpc.RpcClientDefault.__init__(self)
diff --git a/lib/server/masterd.py b/lib/server/masterd.py
index ed294adeedfc771673d51a74bd094770fa9a8538..41df24edeeef710b6d6f850e7332399c6d054547 100644
--- a/lib/server/masterd.py
+++ b/lib/server/masterd.py
@@ -469,7 +469,7 @@ class GanetiContext(object):
     self.cfg.SetContext(self)
 
     # RPC runner
-    self.rpc = rpc.RpcRunner(self)
+    self.rpc = rpc.RpcRunner(self.cfg, self.glm.AddToLockMonitor)
 
     # Job queue
     self.jobqueue = jqueue.JobQueue(self)