diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index 4496f161c9c91e5e1ca544d81a97e3f8beb24165..4fd253a6ceffc7a465d84bcf572a30455074a34e 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -3568,7 +3568,7 @@ class LUAddNode(LogicalUnit):
     ("primary_ip", None, ht.NoType),
     ("secondary_ip", None, ht.TMaybeString),
     ("readd", False, ht.TBool),
-    ("nodegroup", None, ht.TMaybeString)
+    ("group", None, ht.TMaybeString)
     ]
 
   def CheckArguments(self):
@@ -3577,8 +3577,8 @@ class LUAddNode(LogicalUnit):
     self.hostname = netutils.GetHostname(name=self.op.node_name,
                                          family=self.primary_ip_family)
     self.op.node_name = self.hostname.name
-    if self.op.readd and self.op.nodegroup:
-      raise errors.OpPrereqError("Cannot pass a nodegroup when a node is"
+    if self.op.readd and self.op.group:
+      raise errors.OpPrereqError("Cannot pass a node group when a node is"
                                  " being readded", errors.ECODE_INVAL)
 
   def BuildHooksEnv(self):
@@ -3694,13 +3694,13 @@ class LUAddNode(LogicalUnit):
       self.new_node = self.cfg.GetNodeInfo(node)
       assert self.new_node is not None, "Can't retrieve locked node %s" % node
     else:
-      nodegroup = cfg.LookupNodeGroup(self.op.nodegroup)
+      node_group = cfg.LookupNodeGroup(self.op.group)
       self.new_node = objects.Node(name=node,
                                    primary_ip=primary_ip,
                                    secondary_ip=secondary_ip,
                                    master_candidate=self.master_candidate,
                                    offline=False, drained=False,
-                                   nodegroup=nodegroup)
+                                   group=node_group)
 
   def Exec(self, feedback_fn):
     """Adds the new node to the cluster.
diff --git a/lib/config.py b/lib/config.py
index 156f1deabac92da39c2f54054886d38560a03177..e7f9c4e00182ab64a3c1e9da8d70351429e03efe 100644
--- a/lib/config.py
+++ b/lib/config.py
@@ -1079,7 +1079,7 @@ class ConfigWriter:
 
     node.serial_no = 1
     node.ctime = node.mtime = time.time()
-    self._UnlockedAddNodeToGroup(node.name, node.nodegroup)
+    self._UnlockedAddNodeToGroup(node.name, node.group)
     self._config_data.nodes[node.name] = node
     self._config_data.cluster.serial_no += 1
     self._WriteConfig()
@@ -1264,7 +1264,7 @@ class ConfigWriter:
       # when we're adding the first node to it, since we don't keep a lock in
       # the meantime. It's ok though, as we'll fail cleanly if the node group
       # is not found anymore.
-      raise errors.OpExecError("Unknown nodegroup: %s" % nodegroup_uuid)
+      raise errors.OpExecError("Unknown node group: %s" % nodegroup_uuid)
     if node_name not in self._config_data.nodegroups[nodegroup_uuid].members:
       self._config_data.nodegroups[nodegroup_uuid].members.append(node_name)
 
@@ -1272,13 +1272,13 @@ class ConfigWriter:
     """Remove a given node from its group.
 
     """
-    nodegroup = node.nodegroup
+    nodegroup = node.group
     if nodegroup not in self._config_data.nodegroups:
-      logging.warning("Warning: node '%s' has a non-existing nodegroup '%s'"
+      logging.warning("Warning: node '%s' has unknown node group '%s'"
                       " (while being removed from it)", node.name, nodegroup)
     nodegroup_obj = self._config_data.nodegroups[nodegroup]
     if node.name not in nodegroup_obj.members:
-      logging.warning("Warning: node '%s' not a member of its nodegroup '%s'"
+      logging.warning("Warning: node '%s' not a member of its node group '%s'"
                       " (while being removed from it)", node.name, nodegroup)
     else:
       nodegroup_obj.members.remove(node.name)
@@ -1366,14 +1366,14 @@ class ConfigWriter:
       self._config_data.nodegroups[default_nodegroup_uuid] = default_nodegroup
       modified = True
     for node in self._config_data.nodes.values():
-      if not node.nodegroup:
-        node.nodegroup = self.LookupNodeGroup(None)
+      if not node.group:
+        node.group = self.LookupNodeGroup(None)
         modified = True
       # This is technically *not* an upgrade, but needs to be done both when
       # nodegroups are being added, and upon normally loading the config,
       # because the members list of a node group is discarded upon
       # serializing/deserializing the object.
-      self._UnlockedAddNodeToGroup(node.name, node.nodegroup)
+      self._UnlockedAddNodeToGroup(node.name, node.group)
     if modified:
       self._WriteConfig()
       # This is ok even if it acquires the internal lock, as _UpgradeConfig is
diff --git a/lib/objects.py b/lib/objects.py
index bf1b6bdd8e05d78bdea69ffd44ce84d91224a901..4bdd245bbe59bf6ade7c08004ce688ea9740d11e 100644
--- a/lib/objects.py
+++ b/lib/objects.py
@@ -939,7 +939,7 @@ class Node(TaggableObject):
     "master_candidate",
     "offline",
     "drained",
-    "nodegroup",
+    "group",
     ] + _TIMESTAMPS + _UUID
 
 
diff --git a/lib/opcodes.py b/lib/opcodes.py
index 652f9a13373b85a9be197d79f7ca89c1dc21af33..238a2a782fcf6c98c07f7393c4f3382963090fd3 100644
--- a/lib/opcodes.py
+++ b/lib/opcodes.py
@@ -363,11 +363,13 @@ class OpAddNode(OpCode):
                name is already in the cluster; use this parameter to 'repair'
                a node that had its configuration broken, or was reinstalled
                without removal from the cluster.
+  @type group: C{str}
+  @ivar group: The node group to which this node will belong.
 
   """
   OP_ID = "OP_NODE_ADD"
   OP_DSC_FIELD = "node_name"
-  __slots__ = ["node_name", "primary_ip", "secondary_ip", "readd", "nodegroup"]
+  __slots__ = ["node_name", "primary_ip", "secondary_ip", "readd", "group"]
 
 
 class OpQueryNodes(OpCode):
diff --git a/scripts/gnt-node b/scripts/gnt-node
index d4e7d6b9f13467733126f75551bbf928b6d39392..92d8068694ce9d75edc0d9501854724d11f762da 100755
--- a/scripts/gnt-node
+++ b/scripts/gnt-node
@@ -214,7 +214,7 @@ def AddNode(opts, args):
   bootstrap.SetupNodeDaemon(cluster_name, node, opts.ssh_key_check)
 
   op = opcodes.OpAddNode(node_name=args[0], secondary_ip=sip,
-                         readd=opts.readd, nodegroup=opts.nodegroup)
+                         readd=opts.readd, group=opts.nodegroup)
   SubmitOpCode(op, opts=opts)