diff --git a/tempest/api/identity/admin/v3/test_roles.py b/tempest/api/identity/admin/v3/test_roles.py
index 467d28b..a58e370 100644
--- a/tempest/api/identity/admin/v3/test_roles.py
+++ b/tempest/api/identity/admin/v3/test_roles.py
@@ -28,19 +28,20 @@
         u_name = data_utils.rand_name('user-')
         u_desc = '%s description' % u_name
         u_email = '%s@testmail.tm' % u_name
-        u_password = data_utils.rand_name('pass-')
+        cls.u_password = data_utils.rand_name('pass-')
         resp = [None] * 5
-        resp[0], cls.project = cls.client.create_project(
-            data_utils.rand_name('project-'),
-            description=data_utils.rand_name('project-desc-'))
-        resp[1], cls.domain = cls.client.create_domain(
+        resp[0], cls.domain = cls.client.create_domain(
             data_utils.rand_name('domain-'),
             description=data_utils.rand_name('domain-desc-'))
+        resp[1], cls.project = cls.client.create_project(
+            data_utils.rand_name('project-'),
+            description=data_utils.rand_name('project-desc-'),
+            domain_id=cls.domain['id'])
         resp[2], cls.group_body = cls.client.create_group(
             data_utils.rand_name('Group-'), project_id=cls.project['id'],
             domain_id=cls.domain['id'])
         resp[3], cls.user_body = cls.client.create_user(
-            u_name, description=u_desc, password=u_password,
+            u_name, description=u_desc, password=cls.u_password,
             email=u_email, project_id=cls.project['id'],
             domain_id=cls.domain['id'])
         resp[4], cls.role = cls.client.create_role(
@@ -130,10 +131,11 @@
 
     @attr(type='smoke')
     def test_grant_list_revoke_role_to_group_on_project(self):
+        # Grant role to group on project
         resp, _ = self.client.assign_group_role_on_project(
             self.project['id'], self.group_body['id'], self.role['id'])
         self.assertEqual(resp['status'], '204')
-
+        # List group roles on project
         resp, roles = self.client.list_group_roles_on_project(
             self.project['id'], self.group_body['id'])
 
@@ -142,7 +144,18 @@
 
         self._list_assertions(resp, roles, self.fetched_role_ids,
                               self.role['id'])
-
+        # Add user to group, and insure user has role on project
+        self.client.add_group_user(self.group_body['id'], self.user_body['id'])
+        self.addCleanup(self.client.delete_group_user,
+                        self.group_body['id'], self.user_body['id'])
+        resp, body = self.token.auth(self.user_body['id'], self.u_password,
+                                     self.project['name'],
+                                     domain=self.domain['name'])
+        roles = body['token']['roles']
+        self.assertEqual(resp['status'], '201')
+        self.assertEqual(len(roles), 1)
+        self.assertEqual(roles[0]['id'], self.role['id'])
+        # Revoke role to group on project
         resp, _ = self.client.revoke_role_from_group_on_project(
             self.project['id'], self.group_body['id'], self.role['id'])
         self.assertEqual(resp['status'], '204')
