diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b8004f149b50be02274045d8219e4553ee3f9b3a..de7039e49b046905ed8fcb9cd04ee0c14ccb024c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -39,6 +39,7 @@ default:
   interruptible: true
 
 stages:
+  - master-not-interruptible
   - tool-lint      # Source linting of the tools
   - quick-build    # A very quick smoke-test to weed out broken commits
   - full-build     # Build all the things
@@ -102,6 +103,26 @@ workflow:
 #         x86_64-linux to ensure low-latency availability.
 #
 
+####
+# HACK
+###
+
+master-not-interruptible:
+  stage: master-not-interruptible
+  script: "true"
+  interruptible: false
+  image: "registry.gitlab.haskell.org/ghc/ci-images/linters:$DOCKER_REV"
+  tags:
+    - lint
+  rules:
+    - if: '$CI_COMMIT_BRANCH == "master"'
+      when: always
+      # This is for testing only, remove before merging
+    - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == "wip/ci-master-not-interruptible"'
+      when: always
+
+
+
 
 ############################################################
 # tool linting