diff --git a/lib/config.py b/lib/config.py
index 07bc6557536de2135f067ba56d3e64544f2488f6..93f59130433a293d1a984ce0af03351a20ebcfba 100644
--- a/lib/config.py
+++ b/lib/config.py
@@ -461,6 +461,13 @@ class ConfigWriter:
                       (node.name, node.master_candidate, node.drain,
                        node.offline))
 
+    # nodegroups checks
+    for nodegroup_uuid in data.nodegroups:
+      nodegroup = data.nodegroups[nodegroup_uuid]
+      if nodegroup.uuid != nodegroup_uuid:
+        result.append("nodegroup '%s' (uuid: '%s') indexed by wrong uuid '%s'"
+                      % (nodegroup.name, nodegroup.uuid, nodegroup_uuid))
+
     # drbd minors check
     _, duplicates = self._UnlockedComputeDRBDMap()
     for node, minor, instance_a, instance_b in duplicates: