diff --git a/job/tf-ci-gateway/generate_report.sh b/job/tf-ci-gateway/generate_report.sh
index 32e99f4..aac04f0 100755
--- a/job/tf-ci-gateway/generate_report.sh
+++ b/job/tf-ci-gateway/generate_report.sh
@@ -5,7 +5,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 #
 
-set -ex
+set -x
 
 # Jenkins Parameterized Trigger Plugin mangles job names as passed via
 # environment variables, replacing most non-alphanumeric chars with
@@ -59,13 +59,13 @@
 		--meta-data clone.data \
 		--meta-data override.data \
 		--meta-data inject.data \
-		--meta-data html:coverity.data \
-		|| true
+		--meta-data html:coverity.data
 
     # Only call to merge reports if the test groups are for code coverage
     if [[ $TEST_GROUPS == *"code-coverage"* ]] ||
     [[ $TEST_GROUPS == "scp-boot-tests-coverage" ]]; then
   	   source $CI_ROOT/script/gen_merge_report.sh "${WORKSPACE}/report.json" \
   		   "${WORKSPACE}/report.html"
+      echo "Finished merging reports..."
     fi
 fi
diff --git a/script/gen_merge_report.sh b/script/gen_merge_report.sh
index 1d60875..d25ebed 100644
--- a/script/gen_merge_report.sh
+++ b/script/gen_merge_report.sh
@@ -235,8 +235,8 @@
         merged = false
         if (q = row.querySelector('td.success a.buildlink')) {
           href = q.href
-          buildId = href.split("/").at(-2)
-          if (mergedIds.include(buildId)) {
+          buildId = Number(href.split("/").at(-2))
+          if (mergedIds.includes(buildId)) {
               cell.classList.add("success")
               const url = href.replace('console', 'artifact/${individual_report_folder}')
               button.addEventListener('click', () => {
@@ -304,13 +304,13 @@
     fi
 
      source ${WORKSPACE}/qa-tools/coverage-tool/coverage-reporting/merge.sh \
-        -j $MERGE_CONFIGURATION -l ${OUTDIR}/${COVERAGE_FOLDER} -w $WORKSPACE -c
+        -j $MERGE_CONFIGURATION -l ${OUTDIR}/${COVERAGE_FOLDER} \
+        -w $WORKSPACE -c -i -d
     # backward compatibility with old qa-tools
     [ $? -eq 0 ] && status=true || status=false
 
     # merged_status is set at 'merge.sh' indicating if merging reports was ok
     ${merged_status:-$status} && generate_code_coverage_summary "${REPORT_HTML}"
-    generate_code_coverage_column "${REPORT_HTML}"
+    generate_code_coverage_column "${REPORT_HTML}" || true
     cp "${REPORT_HTML}" "$OUTDIR"
-
 popd
