diff --git a/lib/cli.py b/lib/cli.py
index a4c0de3946a19dd875032bec167d1a3b85015e8a..32e1a0fb4690a681f6a200afa012e028c836aa3a 100644
--- a/lib/cli.py
+++ b/lib/cli.py
@@ -54,6 +54,7 @@ __all__ = [
   "BACKEND_OPT",
   "BLK_OS_OPT",
   "CAPAB_MASTER_OPT",
+  "CAPAB_VM_OPT",
   "CLEANUP_OPT",
   "CLUSTER_DOMAIN_SECRET_OPT",
   "CONFIRM_OPT",
@@ -875,6 +876,10 @@ CAPAB_MASTER_OPT = cli_option("--master-capable", dest="master_capable",
                     type="bool", default=None, metavar=_YORNO,
                     help="Set the master_capable flag on the node")
 
+CAPAB_VM_OPT = cli_option("--vm-capable", dest="vm_capable",
+                    type="bool", default=None, metavar=_YORNO,
+                    help="Set the vm_capable flag on the node")
+
 ALLOCATABLE_OPT = cli_option("--allocatable", dest="allocatable",
                              type="bool", default=None, metavar=_YORNO,
                              help="Set the allocatable flag on a volume")
diff --git a/lib/client/gnt_node.py b/lib/client/gnt_node.py
index 26e5ca8d192dfcb310612d0effbe23057ade0e97..28586d502604db2af4cd6229d83d12bf7a4e34e8 100644
--- a/lib/client/gnt_node.py
+++ b/lib/client/gnt_node.py
@@ -649,7 +649,9 @@ def SetNodeParams(opts, args):
   @return: the desired exit code
 
   """
-  if [opts.master_candidate, opts.drained, opts.offline].count(None) == 3:
+  all_changes = [opts.master_candidate, opts.drained, opts.offline,
+                 opts.master_capable, opts.vm_capable]
+  if all_changes.count(None) == len(all_changes):
     ToStderr("Please give at least one of the parameters.")
     return 1
 
@@ -658,6 +660,7 @@ def SetNodeParams(opts, args):
                                offline=opts.offline,
                                drained=opts.drained,
                                master_capable=opts.master_capable,
+                               vm_capable=opts.vm_capable,
                                force=opts.force,
                                auto_promote=opts.auto_promote)
 
@@ -709,7 +712,8 @@ commands = {
     (utils.CommaJoin(_LIST_HEADERS), utils.CommaJoin(_LIST_DEF_FIELDS))),
   'modify': (
     SetNodeParams, ARGS_ONE_NODE,
-    [FORCE_OPT, SUBMIT_OPT, MC_OPT, DRAINED_OPT, OFFLINE_OPT, CAPAB_MASTER_OPT,
+    [FORCE_OPT, SUBMIT_OPT, MC_OPT, DRAINED_OPT, OFFLINE_OPT,
+     CAPAB_MASTER_OPT, CAPAB_VM_OPT,
      AUTO_PROMOTE_OPT, DRY_RUN_OPT, PRIORITY_OPT],
     "<node_name>", "Alters the parameters of a node"),
   'powercycle': (
diff --git a/man/gnt-node.sgml b/man/gnt-node.sgml
index 39e169f7323cd77a3a4d3d36ee61b4c69f7dd9f7..e876b0cbaa0b2f29f406a9e5be0950e022aeb715 100644
--- a/man/gnt-node.sgml
+++ b/man/gnt-node.sgml
@@ -627,6 +627,7 @@
         <arg>--drained=<option>yes|no</option></arg>
         <arg>--offline=<option>yes|no</option></arg>
         <arg>--master-capable=<option>yes|no</option></arg>
+        <arg>--vm-capable=<option>yes|no</option></arg>
         <arg>--auto-promote</arg>
         <arg choice="req"><replaceable>node</replaceable></arg>
       </cmdsynopsis>