diff --git a/lib/cli.py b/lib/cli.py
index d4dfee675946ce8c4bf1f81f3d81ff597a234627..2d6e7f74a0e02ad18dd9065141beada3a60bbb11 100644
--- a/lib/cli.py
+++ b/lib/cli.py
@@ -62,6 +62,8 @@ __all__ = [
   "FIELDS_OPT",
   "FILESTORE_DIR_OPT",
   "FILESTORE_DRIVER_OPT",
+  "FORCE_OPT",
+  "FORCE_VARIANT_OPT",
   "GLOBAL_FILEDIR_OPT",
   "HVLIST_OPT",
   "HVOPTS_OPT",
@@ -71,7 +73,6 @@ __all__ = [
   "IGNORE_FAILURES_OPT",
   "IGNORE_SECONDARIES_OPT",
   "IGNORE_SIZE_OPT",
-  "FORCE_OPT",
   "MAC_PREFIX_OPT",
   "MASTER_NETDEV_OPT",
   "MC_OPT",
@@ -567,6 +568,10 @@ OS_OPT = cli_option("-o", "--os-type", dest="os", help="What OS to run",
                     metavar="<os>",
                     completion_suggest=OPT_COMPL_ONE_OS)
 
+FORCE_VARIANT_OPT = cli_option("--force-variant", dest="force_variant",
+                               action="store_true", default=False,
+                               help="Force an unknown variant")
+
 BACKEND_OPT = cli_option("-B", "--backend-parameters", dest="beparams",
                          type="keyval", default={},
                          help="Backend parameters")
diff --git a/scripts/gnt-instance b/scripts/gnt-instance
index 062e02bbbe1e0e8af5bb73af1c9e4642b80c7be4..194e6977166dc536920ee8dceb8a1623f4cc5cb2 100755
--- a/scripts/gnt-instance
+++ b/scripts/gnt-instance
@@ -440,6 +440,7 @@ def BatchCreate(opts, args):
                                   disk_template=specs['template'],
                                   mode=constants.INSTANCE_CREATE,
                                   os_type=specs['os'],
+                                  force_variant=opts.force_variant,
                                   pnode=specs['primary_node'],
                                   snode=specs['secondary_node'],
                                   nics=tmp_nics,
@@ -529,7 +530,8 @@ def ReinstallInstance(opts, args):
   jex = JobExecutor(verbose=multi_on)
   for instance_name in inames:
     op = opcodes.OpReinstallInstance(instance_name=instance_name,
-                                     os_type=os_name)
+                                     os_type=os_name,
+                                     force_variant=opts.force_variant)
     jex.QueueJob(instance_name, op)
 
   jex.WaitOrShow(not opts.submit_only)
@@ -1266,6 +1268,7 @@ add_opts = [
   NOSTART_OPT,
   NWSYNC_OPT,
   OS_OPT,
+  FORCE_VARIANT_OPT,
   OS_SIZE_OPT,
   SUBMIT_OPT,
   ]
@@ -1317,8 +1320,9 @@ commands = {
     ),
   'reinstall': (
     ReinstallInstance, [ArgInstance()],
-    [FORCE_OPT, OS_OPT, m_force_multi, m_node_opt, m_pri_node_opt,
-     m_sec_node_opt, m_clust_opt, m_inst_opt, SELECT_OS_OPT, SUBMIT_OPT],
+    [FORCE_OPT, OS_OPT, FORCE_VARIANT_OPT, m_force_multi, m_node_opt,
+     m_pri_node_opt, m_sec_node_opt, m_clust_opt, m_inst_opt, SELECT_OS_OPT,
+     SUBMIT_OPT],
     "[-f] <instance>", "Reinstall a stopped instance"),
   'remove': (
     RemoveInstance, ARGS_ONE_INSTANCE,