diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 98e9f3134a942d229e906b1521b86083ef34a8f7..45d910f26a58cfaf877a447d741fd9b5b12ffb97 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -10,7 +10,9 @@ workflow:
     - if: $CI_COMMIT_TAG
     - if: $CI_COMMIT_BRANCH && $CI_PROJECT_NAME == "scripts"
     - if: $CI_PIPELINE_SOURCE == "web"
-    
+    - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
+      when: never
+
 variables:
 
 stages:
@@ -49,8 +51,6 @@ Word CR text:
      curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/onem2m_coversheet_template%2Edocx/raw?ref=master" >> onem2m_coversheet_template.docx
     - |
      curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/Spec-template%2Edocx/raw?ref=master" >> onem2m_spec_template.docx
-    - |
-     curl --request POST --header "PRIVATE-TOKEN: ${ACCESS_TOKEN}" "${CI_API_V4_URL}/projects/${CI_MERGE_REQUEST_PROJECT_ID}/protected_branches?name=${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}"
   script:
     - echo 'CR contribution'
     - mkdir docs
@@ -59,7 +59,15 @@ Word CR text:
     paths:
       - docs/
     expose_as: 'Word CR text'
-    
+
+Protect branch:
+  stage: generation
+  when: on_success
+  script:
+    - |
+     curl --request POST --header "PRIVATE-TOKEN: ${ACCESS_TOKEN}" "${CI_API_V4_URL}/projects/${CI_MERGE_REQUEST_PROJECT_ID}/protected_branches?name=${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}&merge_access_level=30"
+
+
 Publish spec:
   stage: publication
   only: