diff --git a/qa/qa/tools/reliable_report.rb b/qa/qa/tools/reliable_report.rb
index 9f58c1b8a20faa8b4bcad927cd8f2f34cfe5fd8f..fc887bcb1046d37660a8a8d4ef86501e3ca769c0 100644
--- a/qa/qa/tools/reliable_report.rb
+++ b/qa/qa/tools/reliable_report.rb
@@ -453,7 +453,7 @@ def spec_attributes_per_run(records)
           r.values["status"] == "failed" && !allowed_failure?(r.values["failure_exception"])
         end
 
-        failure_issue = exceptions_and_related_urls(records).values.last
+        failure_issue = issue_for_most_failures(failed_records)
         last_record = records.last.values
         name = last_record["name"]
         file = last_record["file_path"].split("/").last
@@ -508,7 +508,6 @@ def test_runs(reliable:)
           link = BLOB_MASTER + FEATURES_DIR + last_record["file_path"]
           stage = last_record["stage"] || "unknown"
           product_group = last_record["product_group"] || "unknown"
-          failure_issue = exceptions_and_related_urls(records).values.last
 
           runs = records.count
 
@@ -516,6 +515,8 @@ def test_runs(reliable:)
             r.values["status"] == "failed" && !allowed_failure?(r.values["failure_exception"])
           end
 
+          failure_issue = issue_for_most_failures(failed_records)
+
           failed_run_type = failed_records.map { |record| record.values['run_type'] }.uniq
 
           failure_rate = (failed_records.count.to_f / runs) * 100
@@ -550,6 +551,19 @@ def exceptions_and_related_urls(records)
         end
       end
 
+      # Return the failure that has the most occurrence
+      #
+      # @param [Array<InfluxDB2::FluxRecord>] records
+      # @return [String] the failure with most occurrence
+      def issue_for_most_failures(records)
+        return '' if records.empty?
+
+        issues = records.filter_map { |r| r.values["failure_issue"] }
+        return '' if issues.empty?
+
+        issues.tally.max_by { |_, count| count }&.first
+      end
+
       # Check if failure is allowed
       #
       # @param [String] failure_exception
diff --git a/qa/spec/tools/reliable_report_spec.rb b/qa/spec/tools/reliable_report_spec.rb
index bf5c4b1b83923ea94de93aa8ae69f27c4e31f55a..f7018deb1fb516c8829805a78c90579916be6a23 100644
--- a/qa/spec/tools/reliable_report_spec.rb
+++ b/qa/spec/tools/reliable_report_spec.rb
@@ -409,6 +409,52 @@ def exceptions_markdown(exceptions_and_related_urls)
     end
   end
 
+  describe "#issue_for_most_failures" do
+    subject(:reliable_report) { described_class.new(14) }
+
+    let(:failure_message_1) { "This is a failure exception 1" }
+    let(:failure_message_2) { "This is a failure exception 2" }
+    let(:job_url) { "https://example.com/job/url" }
+    let(:failure_issue_url_1) { "https://example.com/failure/issue_1" }
+    let(:failure_issue_url_2) { "https://example.com/failure/issue_2" }
+
+    let(:records) do
+      [
+        instance_double("InfluxDB2::FluxRecord", values: values_1),
+        instance_double("InfluxDB2::FluxRecord", values: values_2),
+        instance_double("InfluxDB2::FluxRecord", values: values_2)
+      ]
+    end
+
+    let(:values_1) do
+      {
+        "failure_exception" => failure_message_1,
+        "failure_issue" => failure_issue_url_1,
+        "job_url" => job_url
+      }
+    end
+
+    let(:values_2) do
+      {
+        "failure_exception" => failure_message_2,
+        "failure_issue" => failure_issue_url_2,
+        "job_url" => job_url
+      }
+    end
+
+    let(:values_3) do
+      {
+        "failure_exception" => failure_message_2,
+        "failure_issue" => failure_issue_url_2,
+        "job_url" => job_url
+      }
+    end
+
+    it 'returns the failure issue with most failures' do
+      expect(reliable_report.send(:issue_for_most_failures, records)).to eq(failure_issue_url_2)
+    end
+  end
+
   describe "#exceptions_and_related_urls" do
     subject(:reliable_report) { described_class.new(14) }