diff --git a/src/hostinfo/role.py b/src/hostinfo/role.py
index ebcb336c8fba4c0565ea23983cf497a9e2dd21fa..45e72264b4ff700a8de3c49f844ed0880c003cc7 100755
--- a/src/hostinfo/role.py
+++ b/src/hostinfo/role.py
@@ -19,6 +19,6 @@ def get_all(tree):
         if name in result:
             raise util.HostinfoException('Duplicate role holders %s' % name,
                                          where=[result[name], r])
-        result[name] = r.name[1]
+        result[name] = r
         pass
-    return result
+    return dict([ (k,v.name[1]) for k,v in result.iteritems() ])