diff --git a/jobs/pipelines/deploy-cicd-and-run-tests.groovy b/jobs/pipelines/deploy-cicd-and-run-tests.groovy
index 380d46a..0434b19 100644
--- a/jobs/pipelines/deploy-cicd-and-run-tests.groovy
+++ b/jobs/pipelines/deploy-cicd-and-run-tests.groovy
@@ -98,9 +98,7 @@
             archiveArtifacts artifacts: "**/*.xml,**/*.ini,**/*.log,**/*.tar.gz"
         }
         stage("report results to testrail") {
-            if (env.REPORT_TO_TESTRAIL ?: true) {
-                shared.swarm_testrail_report(steps)
-            }
+            shared.swarm_testrail_report(steps)
         }
         stage("Store TestRail reports to job description") {
             def String description = readFile("description.txt")
diff --git a/jobs/pipelines/swarm-testrail-report.groovy b/jobs/pipelines/swarm-testrail-report.groovy
index 1dfd597..42be763 100644
--- a/jobs/pipelines/swarm-testrail-report.groovy
+++ b/jobs/pipelines/swarm-testrail-report.groovy
@@ -12,7 +12,6 @@
  *   PARENT_WORKSPACE              Path to the workspace of the parent job to use tcp-qa repo
  *   TEMPEST_TEST_SUITE_NAME       Name of tempest suite
  *   TCP_QA_REFS                   Reference to the tcp-qa change on review.gerrithub.io, like refs/changes/46/418546/41
- *   TEST_PLAN_NAME_PREFIX         Prefix of test plan name
  */
 
 @Library('tcp-qa')_
@@ -42,7 +41,6 @@
             }
 
             def report_name = ''
-            def testPlanNamePrefix = env.TEST_PLAN_NAME_PREFIX ?: ''
             def testSuiteName = ''
             def methodname = ''
             def testrail_name_template = ''
@@ -84,9 +82,7 @@
                       "--testrail-case-custom-fields {\\\"custom_qa_team\\\":\\\"9\\\"}",
                       "--testrail-case-section-name \'All\'",
                     ]
-                    report_result = shared.upload_results_to_testrail(
-                        deployment_report_name, testSuiteName, methodname, testrail_name_template,
-                        reporter_extra_options, testPlanNamePrefix=testPlanNamePrefix)
+                    report_result = shared.upload_results_to_testrail(deployment_report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options)
                     common.printMsg(report_result, "blue")
                     report_url = report_result.split("\n").each {
                         if (it.contains("[TestRun URL]")) {
@@ -107,9 +103,7 @@
                       "--testrail-case-custom-fields {\\\"custom_qa_team\\\":\\\"9\\\"}",
                       "--testrail-case-section-name \'All\'",
                     ]
-                    report_result = shared.upload_results_to_testrail(
-                        tcpqa_report_name, testSuiteName, methodname, testrail_name_template,
-                        reporter_extra_options, testPlanNamePrefix=testPlanNamePrefix)
+                    report_result = shared.upload_results_to_testrail(tcpqa_report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options)
                     common.printMsg(report_result, "blue")
                     report_url = report_result.split("\n").each {
                         if (it.contains("[TestRun URL]")) {
@@ -125,9 +119,7 @@
                     testSuiteName = env.TEMPEST_TEST_SUITE_NAME
                     methodname = "{classname}.{methodname}"
                     testrail_name_template = "{title}"
-                    report_result = shared.upload_results_to_testrail(
-                        tempest_report_name, testSuiteName, methodname, testrail_name_template,
-                        testPlanNamePrefix=testPlanNamePrefix)
+                    report_result = shared.upload_results_to_testrail(tempest_report_name, testSuiteName, methodname, testrail_name_template)
                     common.printMsg(report_result, "blue")
                     report_url = report_result.split("\n").each {
                         if (it.contains("[TestRun URL]")) {
@@ -153,9 +145,7 @@
                       "--testrail-case-custom-fields {\\\"custom_qa_team\\\":\\\"9\\\"}",
                       "--testrail-case-section-name \'Conformance\'",
                     ]
-                    report_result = shared.upload_results_to_testrail(
-                        k8s_conformance_report_name, testSuiteName, methodname, testrail_name_template,
-                        reporter_extra_options, testPlanNamePrefix=testPlanNamePrefix)
+                    report_result = shared.upload_results_to_testrail(k8s_conformance_report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options)
                     common.printMsg(report_result, "blue")
                     report_url = report_result.split("\n").each {
                         if (it.contains("[TestRun URL]")) {
@@ -177,9 +167,7 @@
                       "--testrail-case-custom-fields {\\\"custom_qa_team\\\":\\\"9\\\"}",
                       "--testrail-case-section-name \'Conformance\'",
                     ]
-                    report_result = shared.upload_results_to_testrail(
-                        k8s_conformance_virtlet_report_name, testSuiteName, methodname, testrail_name_template,
-                        reporter_extra_options, testPlanNamePrefix=testPlanNamePrefix)
+                    report_result = shared.upload_results_to_testrail(k8s_conformance_virtlet_report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options)
                     common.printMsg(report_result, "blue")
                     report_url = report_result.split("\n").each {
                         if (it.contains("[TestRun URL]")) {
@@ -195,9 +183,7 @@
                     testSuiteName = "LMA2.0_Automated"
                     methodname = "{methodname}"
                     testrail_name_template = "{title}"
-                    report_result = shared.upload_results_to_testrail(
-                        stacklight_report_name, testSuiteName, methodname, testrail_name_template,
-                        testPlanNamePrefix=testPlanNamePrefix)
+                    report_result = shared.upload_results_to_testrail(stacklight_report_name, testSuiteName, methodname, testrail_name_template)
                     common.printMsg(report_result, "blue")
                     report_url = report_result.split("\n").each {
                         if (it.contains("[TestRun URL]")) {
@@ -219,9 +205,7 @@
                       "--testrail-case-custom-fields {\\\"custom_qa_team\\\":\\\"9\\\"}",
                       "--testrail-case-section-name \'All\'",
                     ]
-                    report_result = shared.upload_results_to_testrail(
-                        cvp_sanity_report_name, testSuiteName, methodname, testrail_name_template,
-                        reporter_extra_options, testPlanNamePrefix=testPlanNamePrefix)
+                    report_result = shared.upload_results_to_testrail(cvp_sanity_report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options)
                     common.printMsg(report_result, "blue")
                     report_url = report_result.split("\n").each {
                         if (it.contains("[TestRun URL]")) {
diff --git a/src/com/mirantis/system_qa/SharedPipeline.groovy b/src/com/mirantis/system_qa/SharedPipeline.groovy
index d052f32..53927f7 100644
--- a/src/com/mirantis/system_qa/SharedPipeline.groovy
+++ b/src/com/mirantis/system_qa/SharedPipeline.groovy
@@ -291,7 +291,6 @@
                 string(name: 'PARENT_WORKSPACE', value: pwd()),
                 string(name: 'TCP_QA_REFS', value: "${tcp_qa_refs}"),
                 string(name: 'TEMPEST_TEST_SUITE_NAME', value: "${tempest_test_suite_name}"),
-                string(name: 'TEST_PLAN_NAME_PREFIX', value: env.TESTRAIL_TEST_PLAN_NAME_PREFIX ?: ''),
             ]
         common.printMsg("Start building job 'swarm-testrail-report' with parameters:", "purple")
         common.prettyPrint(parameters)
@@ -553,15 +552,12 @@
     writeFile(file: filename, text: script, encoding: "UTF-8")
 }
 
-def upload_results_to_testrail(report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options=[], testPlanNamePrefix=null) {
+def upload_results_to_testrail(report_name, testSuiteName, methodname, testrail_name_template, reporter_extra_options=[]) {
   def venvPath = '/home/jenkins/venv_testrail_reporter'
   def testPlanDesc = env.LAB_CONFIG_NAME
   def testrailURL = "https://mirantis.testrail.com"
   def testrailProject = "Mirantis Cloud Platform"
-  if (!testPlanNamePrefix) {
-    testPlanNamePrefix = "[MCP-Q2]System"
-  }
-  def testPlanName = "${testPlanNamePrefix}-${MCP_VERSION}-${new Date().format('yyyy-MM-dd')}"
+  def testPlanName = "[MCP-Q2]System-${MCP_VERSION}-${new Date().format('yyyy-MM-dd')}"
   def testrailMilestone = "MCP1.1"
   def testrailCaseMaxNameLenght = 250
   def jobURL = env.BUILD_URL
