diff --git a/.gitlab/preliminary.yml b/.gitlab/preliminary.yml
index a6d303831acdfbdf5bd711b628b606b4695cbd52..d6e9088f8dcd23e4a1d53ff2d76a472c7a2119a2 100644
--- a/.gitlab/preliminary.yml
+++ b/.gitlab/preliminary.yml
@@ -4,7 +4,10 @@
 ---
 preliminary_checks:
   stage: .pre
-  extends: .only-merge-request
+  interruptible: true
+  rules:
+    - if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /^ci-.*$/) && $CI_PIPELINE_SOURCE != "schedule"
+    - if: $CI_MERGE_REQUEST_IID && $CI_PIPELINE_SOURCE != "schedule"
   parallel:
     matrix:
       - TEST: [rebase, draft, header]