diff --git a/app/controllers/projects/project_members_controller.rb b/app/controllers/projects/project_members_controller.rb
index 617dd9823b9cf931e5c4bca467000814ae1133d2..2175a5d8dcb77869f52096b0b340aee2cfd23971 100644
--- a/app/controllers/projects/project_members_controller.rb
+++ b/app/controllers/projects/project_members_controller.rb
@@ -6,7 +6,19 @@ class Projects::ProjectMembersController < Projects::ApplicationController
 
   def index
     @groups = @project.project_group_links
-    @project_members = @project.team.members(!can?(current_user, :admin_project, @project))
+
+    members = []
+    project_members = @project.project_members
+    project_members = project_members.non_invite unless can?(current_user, :admin_project, @project)
+    members << project_members.pluck(:id)
+
+    if @project.group
+      group_members = @project.group.group_members
+      group_members = group_members.non_invite unless can?(current_user, :admin_project, @project)
+      members << group_members.pluck(:id)
+    end
+
+    @project_members = Member.where(id: members)
     @project_members_size = @project_members.size
 
     if params[:search].present?
diff --git a/app/models/project_team.rb b/app/models/project_team.rb
index a58c56288dd7b838077a2d6c214c070fb543e8c7..ab6ea2aae36b0e362dc1b5900d4c8846d9188493 100644
--- a/app/models/project_team.rb
+++ b/app/models/project_team.rb
@@ -52,8 +52,8 @@ class ProjectTeam
     ProjectMember.truncate_team(project)
   end
 
-  def members(non_invite = false)
-    @members ||= fetch_members(nil, non_invite)
+  def members
+    @members ||= fetch_members
   end
   alias_method :users, :members
 
@@ -197,7 +197,7 @@ class ProjectTeam
     access.each { |key, value| access[key] = [value, capped_access_level].min }
   end
 
-  def fetch_members(level = nil, non_invite = false)
+  def fetch_members(level = nil)
     project_members = project.members
     group_members = group ? group.members : []
     invited_members = []
@@ -236,7 +236,7 @@ class ProjectTeam
     end
 
     user_ids = project_members.pluck(:user_id)
-    user_ids.push(*invited_members.map(&:user_id)) if invited_members.any? && non_invite
+    user_ids.push(*invited_members.map(&:user_id)) if invited_members.any?
     user_ids.push(*group_members.pluck(:user_id)) if group
 
     User.where(id: user_ids)
diff --git a/app/views/projects/project_members/_team.html.haml b/app/views/projects/project_members/_team.html.haml
index 2af9fe0519c4063c5129d8aabdb922ee7eff4fee..867cb2b97e426678c6b5ee3ddd928cdb34b72cae 100644
--- a/app/views/projects/project_members/_team.html.haml
+++ b/app/views/projects/project_members/_team.html.haml
@@ -4,6 +4,5 @@
     %strong #{@project.name}
     %span.badge= @project_members_size
   %ul.content-list
-    - members.each do |user|
-      - member = @project.team.find_member(user.id)
-      = render 'shared/members/member', member: member, user: user
+    - members.each do |member|
+      = render 'shared/members/member', member: member