diff --git a/ci-scripts/Jenkinsfile-gitlab b/ci-scripts/Jenkinsfile-gitlab
index d16de8b7ab00cb9a965cb13bae4f2e0cd1bb6ad6..efd574efc9fa75a4826cbe1c88e2d1fc3542187d 100644
--- a/ci-scripts/Jenkinsfile-gitlab
+++ b/ci-scripts/Jenkinsfile-gitlab
@@ -733,48 +733,50 @@ OAI CI Team''',
 // ----  Slave Job functions
 
 def triggerSlaveJob (jobName, gitlabStatusName) {
-    if ("MERGE".equals(env.gitlabActionType)) {
-        gitlabCommitStatus(name: gitlabStatusName) {
-            build job: jobName,
-                parameters: [
-                    string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
-                    string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
-                    string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
-                    booleanParam(name: 'eNB_mergeRequest', value: true),
-                    string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
-                ]
+    // Workaround for the "cancelled" GitLab pipeline notification
+    // The slave job is triggered with the propagate false so the following commands are executed
+    // Its status is now PASS/SUCCESS from a stage pipeline point of view
+    // localStatus variable MUST be analyzed to properly assess the status
+    localStatus = build job: jobName,
+        parameters: [
+            string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
+            string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
+            string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
+            booleanParam(name: 'eNB_mergeRequest', value: "MERGE".equals(env.gitlabActionType)),
+            string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
+        ], propagate: false
+    localResult = localStatus.getResult()
+    echo "${jobName} Slave Job status is ${localResult}"
+    gitlabCommitStatus(name: gitlabStatusName) {
+        if (localStatus.resultIsBetterOrEqualTo('SUCCESS')) {
+           echo "${jobName} Slave Job is OK"
+        } else {
+           echo "${jobName} Slave Job is KO"
+           sh "ci-scripts/fail.sh"
         }
-    } else {
-        gitlabCommitStatus(name: gitlabStatusName) {
-            build job: jobName,
-                parameters: [
-                    string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
-                    string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
-                    string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
-                    booleanParam(name: 'eNB_mergeRequest', value: false)
-                ]
-       }
     }
 }
 
 def triggerSlaveJobNoGitLab (jobName) {
-    if ("MERGE".equals(env.gitlabActionType)) {
-        build job: jobName,
-            parameters: [
-                string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
-                string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
-                string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
-                booleanParam(name: 'eNB_mergeRequest', value: true),
-                string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
-            ]
+    // Workaround for the "cancelled" GitLab pipeline notification
+    // The slave job is triggered with the propagate false so the following commands are executed
+    // Its status is now PASS/SUCCESS from a stage pipeline point of view
+    // localStatus variable MUST be analyzed to properly assess the status
+    localStatus = build job: jobName,
+        parameters: [
+            string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
+            string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
+            string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
+            booleanParam(name: 'eNB_mergeRequest', value: "MERGE".equals(env.gitlabActionType)),
+            string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
+        ], propagate: false
+    localResult = localStatus.getResult()
+    echo "${jobName} Slave Job status is ${localResult}"
+    if (localStatus.resultIsBetterOrEqualTo('SUCCESS')) {
+       echo "${jobName} Slave Job is OK"
     } else {
-        build job: jobName,
-            parameters: [
-                string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
-                string(name: 'eNB_Branch', value: String.valueOf(GIT_BRANCH)),
-                string(name: 'eNB_CommitID', value: String.valueOf(GIT_COMMIT)),
-                booleanParam(name: 'eNB_mergeRequest', value: false)
-            ]
+       echo "${jobName} Slave Job is KO"
+       sh "ci-scripts/fail.sh"
     }
 }