diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index 6037efa3b08c56ca2d10b0d1a2da994fb66a4432..16b4ec966e2f2d0fba28341ab15b56c3b8cd658d 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -5985,6 +5985,7 @@ class LUSetInstanceParams(LogicalUnit):
     # checking the new params on the primary/secondary nodes
 
     instance = self.instance = self.cfg.GetInstanceInfo(self.op.instance_name)
+    cluster = self.cluster = self.cfg.GetClusterInfo()
     assert self.instance is not None, \
       "Cannot retrieve locked instance %s" % self.op.instance_name
     pnode = instance.primary_node
@@ -6001,7 +6002,6 @@ class LUSetInstanceParams(LogicalUnit):
             pass
         else:
           i_hvdict[key] = val
-      cluster = self.cfg.GetClusterInfo()
       utils.ForceDictType(i_hvdict, constants.HVS_PARAMETER_TYPES)
       hv_new = objects.FillDict(cluster.hvparams[instance.hypervisor],
                                 i_hvdict)
@@ -6025,7 +6025,6 @@ class LUSetInstanceParams(LogicalUnit):
             pass
         else:
           i_bedict[key] = val
-      cluster = self.cfg.GetClusterInfo()
       utils.ForceDictType(i_bedict, constants.BES_PARAMETER_TYPES)
       be_new = objects.FillDict(cluster.beparams[constants.PP_DEFAULT],
                                 i_bedict)