diff --git a/src/hostinfo/role.py b/src/hostinfo/role.py
index bc6d8ee74ebc794e5d94155da41990d3903612e7..b70a512c665d018639beba8ffb6dd4bc3dca310a 100755
--- a/src/hostinfo/role.py
+++ b/src/hostinfo/role.py
@@ -9,6 +9,11 @@ def generate(tree, host, roles):
         if role in by_role:
             raise Exception("Duplicate roles '%s' on %s, %s" %
                             (role, host, by_role[role]) )
-        by_role[role] = 1
+        by_role[role] = r.name[1]
         pass
+    for r in roles:
+        if not r in by_role:
+            raise Exception("Role '%s' not found in %s" %
+                            (r, by_role.keys()))
+            
     return result