diff --git a/lib/cli.py b/lib/cli.py
index f598320e6d1ee980b0dfa1fe372bf0a73fa2707f..5ccdfa0efde6197604b85a05905f4771bd4ad7b5 100644
--- a/lib/cli.py
+++ b/lib/cli.py
@@ -114,6 +114,7 @@ __all__ = [
   "READD_OPT",
   "REBOOT_TYPE_OPT",
   "REMOVE_UIDS_OPT",
+  "ROMAN_OPT",
   "SECONDARY_IP_OPT",
   "SELECT_OS_OPT",
   "SEP_OPT",
@@ -950,6 +951,12 @@ REMOVE_UIDS_OPT = cli_option("--remove-uids", default=None,
                                    " ranges separated by commas, to be"
                                    " removed from the user-id pool"))
 
+ROMAN_OPT = cli_option("--roman",
+                       dest="roman_integers", default=False,
+                       action="store_true",
+                       help="Use roman numbers for positive integers")
+
+
 
 def _ParseArgs(argv, commands, aliases):
   """Parser for the command line arguments.
diff --git a/man/gnt-node.sgml b/man/gnt-node.sgml
index eb76deb4520a9a636fc73e48f11ce6de9db4a89a..22b89a048ef437f63bd78e1a6d54a4dbb99732b5 100644
--- a/man/gnt-node.sgml
+++ b/man/gnt-node.sgml
@@ -253,6 +253,8 @@
         <arg>--units=<replaceable>UNITS</replaceable></arg>
         <arg>-o <replaceable>[+]FIELD,...</replaceable></arg>
         <sbr>
+        <arg>--roman</arg>
+        <sbr>
         <arg rep="repeat">node</arg>
       </cmdsynopsis>
 
@@ -285,6 +287,12 @@
         cluster (but this might stall the query for a long time).
       </para>
 
+      <para>
+        Passing the <option>--roman</option> option gnt-node list will try to
+        output some of its fields in a latin-friendly way. This is not the
+        default for backwards compatibility.
+      </para>
+
       <para>
         The <option>-o</option> option takes a comma-separated list of
         output fields. The available fields and their meaning are:
diff --git a/scripts/gnt-node b/scripts/gnt-node
index 61c4f271488fd78b93495a6b5f8ed5eaf9371099..8ca09e41bca52b9a1daa412b3f0f9af4b9a196b0 100755
--- a/scripts/gnt-node
+++ b/scripts/gnt-node
@@ -28,6 +28,11 @@
 
 import sys
 
+try:
+  import roman
+except ImportError:
+  roman = None
+
 from ganeti.cli import *
 from ganeti import opcodes
 from ganeti import utils
@@ -207,6 +212,10 @@ def ListNodes(opts, args):
                "pinst_cnt", "sinst_cnt",
                "ctotal", "serial_no"]
 
+  latinfriendlyfields = ["pinst_cnt", "sinst_cnt",
+                         "ctotal", "cnodes", "csockets",
+                         "serial_no"]
+
   list_type_fields = ("pinst_list", "sinst_list", "tags")
   # change raw values to nicer strings
   for row in output:
@@ -223,6 +232,12 @@ def ListNodes(opts, args):
         val = utils.FormatTime(val)
       elif val is None:
         val = "?"
+      elif (roman is not None and opts.roman_integers
+            and field in latinfriendlyfields):
+        try:
+          val = roman.toRoman(val)
+        except roman.RomanError:
+          pass
       row[idx] = str(val)
 
   data = GenerateTable(separator=opts.separator, headers=headers,
@@ -662,7 +677,7 @@ commands = {
     "[<node_name>...]", "Show information about the node(s)"),
   'list': (
     ListNodes, ARGS_MANY_NODES,
-    [NOHDR_OPT, SEP_OPT, USEUNITS_OPT, FIELDS_OPT, SYNC_OPT],
+    [NOHDR_OPT, SEP_OPT, USEUNITS_OPT, FIELDS_OPT, SYNC_OPT, ROMAN_OPT],
     "[nodes...]",
     "Lists the nodes in the cluster. The available fields are (see the man"
     " page for details): %s. The default field list is (in order): %s." %