diff --git a/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java b/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java index d2f82ba37003..a1c237610d5f 100644 --- a/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java @@ -2263,7 +2263,10 @@ public Pair, Integer> listProjectInvitationsIntern Pair, Integer> projectInvitations = _projectInvitationJoinDao.searchAndCount(sc, searchFilter); List invitations = projectInvitations.first(); - invitations = invitations.stream().filter(invite -> invite.getUserId() == null || Long.parseLong(invite.getUserId()) == callingUser.getId()).collect(Collectors.toList()); + Project project = projectId == null ? null : _projectMgr.getProject(projectId); + if (project == null || !_projectMgr.canAccessProjectAccount(caller, project.getProjectAccountId())) { + invitations = invitations.stream().filter(invite -> invite.getUserId() == null || Long.parseLong(invite.getUserId()) == callingUser.getId()).collect(Collectors.toList()); + } return new Pair<>(invitations, invitations.size());