diff --git a/app/finders/projects/members/effective_access_level_finder.rb b/app/finders/projects/members/effective_access_level_finder.rb
index d238679f2fbff4f23961b945b64a6b674e1c4fd7..4538fc4c8554e7a07a4d1c50bf9d3bf289bd2dd6 100644
--- a/app/finders/projects/members/effective_access_level_finder.rb
+++ b/app/finders/projects/members/effective_access_level_finder.rb
@@ -27,13 +27,9 @@ def execute
       attr_reader :project
 
       def generate_from_statement(user_ids_and_access_levels)
-        "(VALUES #{generate_values_expression(user_ids_and_access_levels)}) members (user_id, access_level)"
-      end
+        values_list = Arel::Nodes::ValuesList.new(user_ids_and_access_levels).to_sql
 
-      def generate_values_expression(user_ids_and_access_levels)
-        user_ids_and_access_levels.map do |user_id, access_level|
-          "(#{user_id}, #{access_level})"
-        end.join(",")
+        "(#{values_list}) members (user_id, access_level)"
       end
 
       def no_members?