diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index a8f9d176ea5a9825428530cc9fb2937f7ef1830f..7f5f3d529754d67df3f51e09ed5a4507edba3d03 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -4750,8 +4750,10 @@ class LURenameInstance(LogicalUnit):
   _OP_REQP = [
     ("instance_name", _TNonEmptyString),
     ("new_name", _TNonEmptyString),
+    ("ignore_ip", _TBool),
+    ("check_name", _TBool),
     ]
-  _OP_DEFS = [("ignore_ip", False)]
+  _OP_DEFS = [("ignore_ip", False), ("check_name", True)]
 
   def BuildHooksEnv(self):
     """Build hooks env.
@@ -4779,9 +4781,12 @@ class LURenameInstance(LogicalUnit):
     self.instance = instance
 
     # new name verification
-    name_info = utils.GetHostInfo(self.op.new_name)
+    if self.op.check_name:
+      name_info = utils.GetHostInfo(self.op.new_name)
+      self.op.new_name = name_info.name
+
+    new_name = self.op.new_name
 
-    self.op.new_name = new_name = name_info.name
     instance_list = self.cfg.GetInstanceList()
     if new_name in instance_list:
       raise errors.OpPrereqError("Instance '%s' is already in the cluster" %
diff --git a/lib/opcodes.py b/lib/opcodes.py
index 7a7edd9686a27804e68b1722b2ddb80c674b6bdf..c2cc5cf9c1367515b47857c5e7e96a0416254bcb 100644
--- a/lib/opcodes.py
+++ b/lib/opcodes.py
@@ -502,7 +502,7 @@ class OpRenameInstance(OpCode):
   """Rename an instance."""
   OP_ID = "OP_INSTANCE_RENAME"
   __slots__ = [
-    "instance_name", "ignore_ip", "new_name",
+    "instance_name", "ignore_ip", "new_name", "check_name",
     ]