diff --git a/openstackclient/identity/v3/role_assignment.py b/openstackclient/identity/v3/role_assignment.py
index 9da050ded2..a362adb07d 100644
--- a/openstackclient/identity/v3/role_assignment.py
+++ b/openstackclient/identity/v3/role_assignment.py
@@ -128,7 +128,8 @@ class ListRoleAssignment(command.Lister):
         if parsed_args.project:
             project = common.find_project(
                 identity_client,
-                parsed_args.project,
+                common._get_token_resource(identity_client, 'project',
+                                           parsed_args.project),
                 parsed_args.project_domain,
             )
         elif parsed_args.authproject:
diff --git a/releasenotes/notes/bug-1658189-d2b390ad74c96c79.yaml b/releasenotes/notes/bug-1658189-d2b390ad74c96c79.yaml
new file mode 100644
index 0000000000..211c4c31ae
--- /dev/null
+++ b/releasenotes/notes/bug-1658189-d2b390ad74c96c79.yaml
@@ -0,0 +1,6 @@
+---
+fixes:
+  - |
+    Make ``role assignment list`` callable without administrator permissions
+    if restricted to own project with ``--project`` parameter.
+    [Bug `1658189 <https://bugs.launchpad.net/python-openstackclient/+bug/1658189>`_]