diff --git a/changelogs/unreleased/25251-actionview-template-error-undefined-method-text-for-nil-nilclass.yml b/changelogs/unreleased/25251-actionview-template-error-undefined-method-text-for-nil-nilclass.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7f1c417bc777a57e0ed8da1da8b8fdf005632dde
--- /dev/null
+++ b/changelogs/unreleased/25251-actionview-template-error-undefined-method-text-for-nil-nilclass.yml
@@ -0,0 +1,5 @@
+---
+title: 'Fixes "ActionView::Template::Error: undefined method `text?` for nil:NilClass"
+  on MR pages'
+merge_request: 
+author: 
diff --git a/lib/gitlab/diff/file_collection/merge_request_diff.rb b/lib/gitlab/diff/file_collection/merge_request_diff.rb
index 26bb0bc16f5be3bb70fea78bdca949864e2e7b6b..56530448f3603475b68161bf684d40a8df20f9ea 100644
--- a/lib/gitlab/diff/file_collection/merge_request_diff.rb
+++ b/lib/gitlab/diff/file_collection/merge_request_diff.rb
@@ -61,7 +61,7 @@ module Gitlab
         end
 
         def cacheable?(diff_file)
-          @merge_request_diff.present? && diff_file.blob.text?
+          @merge_request_diff.present? && diff_file.blob && diff_file.blob.text?
         end
 
         def cache_key
diff --git a/spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb b/spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb
index c863a5f04cce189f46363bf443d488d994ccf9a7..2a680f03476acbeeacee02ef9f5c63db323cfd28 100644
--- a/spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb
+++ b/spec/lib/gitlab/diff/file_collection/merge_request_diff_spec.rb
@@ -10,4 +10,12 @@ describe Gitlab::Diff::FileCollection::MergeRequestDiff do
 
     described_class.new(merge_request.merge_request_diff, diff_options: nil).diff_files
   end
+
+  it 'does not hightlight file if blob is not accessable' do
+    allow_any_instance_of(Gitlab::Diff::File).to receive(:blob).and_return(nil)
+
+    expect_any_instance_of(Gitlab::Diff::File).not_to receive(:highlighted_diff_lines)
+
+    described_class.new(merge_request.merge_request_diff, diff_options: nil).diff_files
+  end
 end