diff --git a/app/mailers/emails/reviews.rb b/app/mailers/emails/reviews.rb
index 5bbea1a5fe0c12a4b04457aff1701c834b18cc57..48c1b5b057cc50b796e23a720e7b8c995d5286d5 100644
--- a/app/mailers/emails/reviews.rb
+++ b/app/mailers/emails/reviews.rb
@@ -22,8 +22,7 @@ def setup_review_email(review_id, recipient_id)
       review = Review.find_by_id(review_id)
 
       @notes = review.notes
-      discussion_ids = @notes.pluck(:discussion_id)
-      @discussions = discussions(discussion_ids)
+      @discussions = Discussion.build_discussions(review.discussion_ids, preload_note_diff_file: true)
       @author = review.author
       @author_name = review.author_name
       @project = review.project
@@ -31,11 +30,5 @@ def setup_review_email(review_id, recipient_id)
       @target_url = project_merge_request_url(@project, @merge_request)
       @sent_notification = SentNotification.record(@merge_request, recipient_id, reply_key)
     end
-
-    def discussions(discussion_ids)
-      notes = Note.where(discussion_id: discussion_ids).inc_note_diff_file.fresh
-      grouped_notes = notes.group_by { |n| n.discussion_id }
-      grouped_notes.transform_values { |notes| Discussion.build(notes) }
-    end
   end
 end
diff --git a/app/models/discussion.rb b/app/models/discussion.rb
index 8a167034629feb235022dee7f8cd76af8db1b199..9eb3308b9012bc47af2b6438b7abe40a2ad32250 100644
--- a/app/models/discussion.rb
+++ b/app/models/discussion.rb
@@ -47,6 +47,14 @@ def self.build_collection(notes, context_noteable = nil)
     grouped_notes.values.map { |notes| build(notes, context_noteable) }
   end
 
+  def self.build_discussions(discussion_ids, context_noteable = nil, preload_note_diff_file: false)
+    notes = Note.where(discussion_id: discussion_ids).fresh
+    notes = notes.inc_note_diff_file if preload_note_diff_file
+
+    grouped_notes = notes.group_by { |n| n.discussion_id }
+    grouped_notes.transform_values { |notes| Discussion.build(notes, context_noteable) }
+  end
+
   def self.lazy_find(discussion_id)
     BatchLoader.for(discussion_id).batch do |discussion_ids, loader|
       results = Note.where(discussion_id: discussion_ids).fresh.to_a.group_by(&:discussion_id)
diff --git a/app/models/review.rb b/app/models/review.rb
index 5a30e2963c8f063c83a5b811eaa280c02cf74b54..6456951347d96e44d1b606a5cb175267da73d1d0 100644
--- a/app/models/review.rb
+++ b/app/models/review.rb
@@ -14,6 +14,10 @@ class Review < ApplicationRecord
 
   participant :author
 
+  def discussion_ids
+    notes.pluck(:discussion_id)
+  end
+
   def all_references(current_user = nil, extractor: nil)
     ext = super
 
diff --git a/app/views/notify/_note_email.html.haml b/app/views/notify/_note_email.html.haml
index 7b7a7d5b995ccb9f1c7c581e8f8e8256a579e953..d3d19c3388eb294a78935404b48be4f4bf6cd6b3 100644
--- a/app/views/notify/_note_email.html.haml
+++ b/app/views/notify/_note_email.html.haml
@@ -4,7 +4,7 @@
 - note_style = local_assigns.fetch(:note_style, "")
 - skip_stylesheet_link = local_assigns.fetch(:skip_stylesheet_link, false)
 
-- discussion = local_assigns.fetch(:discussion){ note.discussion } if note.part_of_discussion?
+- discussion = local_assigns.fetch(:discussion) { note.discussion } if note.part_of_discussion?
 
 %p{ style: "color: #777777;" }
   = succeed ':' do
diff --git a/app/views/notify/_note_email.text.erb b/app/views/notify/_note_email.text.erb
index 8b8b75cb40dca11d8833a31c3317e9fba5967be1..ab510f4993dae50b8723be1355731baf3f306f13 100644
--- a/app/views/notify/_note_email.text.erb
+++ b/app/views/notify/_note_email.text.erb
@@ -1,7 +1,7 @@
 <% note = local_assigns.fetch(:note, @note) -%>
 <% diff_limit = local_assigns.fetch(:diff_limit, nil) -%>
 <% target_url = local_assigns.fetch(:target_url, @target_url) -%>
-<% discussion = local_assigns.fetch(:discussion){ note.discussion } if note.part_of_discussion? -%>
+<% discussion = local_assigns.fetch(:discussion) { note.discussion } if note.part_of_discussion? -%>
 
 <%= sanitize_name(note.author_name) -%>
 <%  if discussion.nil? -%>
diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb
index 8aefaadae2e782b388e7ce52fbbb325a8d6db486..b6ad66f41b50bdcbe13ba59e20e44e6d506eee19 100644
--- a/spec/mailers/notify_spec.rb
+++ b/spec/mailers/notify_spec.rb
@@ -2182,7 +2182,6 @@ def invite_to_group(group, inviter:, user: nil, tasks_to_be_done: [])
       let!(:notes) { create_list(:diff_note_on_merge_request, 3, review: review, project: project, author: review.author, noteable: merge_request) }
 
       it 'links to notes and discussions', :aggregate_failures do
-
         reply_note = create(:diff_note_on_merge_request, review: review, project: project, author: review.author, noteable: merge_request, in_reply_to: notes.first)
 
         review.notes.each do |note|