diff --git a/lib/client/gnt_network.py b/lib/client/gnt_network.py
index 714658214fafafcc37bd4e9e6da0dd04d1bcd9a8..1b0cc567f23b3056c660edf0b6649fa9aa250b15 100644
--- a/lib/client/gnt_network.py
+++ b/lib/client/gnt_network.py
@@ -153,10 +153,13 @@ def ListNetworks(opts, args):
   """
   desired_fields = ParseFields(opts.output, _LIST_DEF_FIELDS)
   fmtoverride = {
-    "group_list": (",".join, False),
+    "group_list":
+      (lambda data: utils.CommaJoin("%s (%s, %s)" % (name, mode, link)
+                                    for (name, mode, link) in data),
+       False),
     "inst_list": (",".join, False),
     "tags": (",".join, False),
-  }
+    }
 
   return GenericList(constants.QR_NETWORK, desired_fields, args, None,
                      opts.separator, not opts.no_headers,
diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index bdc26dae44058f45ace7dbd2766d48e58f9e0556..4a7e663759f4a2cd489ff7492d7e3cb4da1a5cc9 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -16225,9 +16225,10 @@ class _NetworkQuery(_QueryBase):
         for net_uuid in group.networks.keys():
           if net_uuid in network_to_groups:
             netparams = group.networks[net_uuid]
-            mode = netparams[constants.NIC_MODE]
-            link = netparams[constants.NIC_LINK]
-            info = group.name + "(" + mode + ", " + link + ")"
+
+            info = (group.name, netparams[constants.NIC_MODE],
+                    netparams[constants.NIC_LINK])
+
             network_to_groups[net_uuid].append(info)
 
             if do_instances:
diff --git a/lib/query.py b/lib/query.py
index 396ff808a05f859c890b5e28ed864a509f2b86d5..c7f8fa9fa13e2534ce657c40bc9545958df19119 100644
--- a/lib/query.py
+++ b/lib/query.py
@@ -2556,8 +2556,9 @@ def _BuildNetworkFields():
   fields.extend([
     (_MakeField("group_cnt", "NodeGroups", QFT_NUMBER, "Number of nodegroups"),
      NETQ_GROUP, 0, _GetLength(network_to_groups)),
-    (_MakeField("group_list", "GroupList", QFT_OTHER, "List of nodegroups"),
-     NETQ_GROUP, 0, _GetSortedList(network_to_groups)),
+    (_MakeField("group_list", "GroupList", QFT_OTHER,
+     "List of nodegroups (group name, NIC mode, NIC link)"),
+     NETQ_GROUP, 0, lambda ctx, network: network_to_groups(ctx)[network.uuid]),
     ])
 
   # Add fields for instances