diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 23b98de05949311613f5ac9f2c8bf753fdfbc9dc..536354a4ff009ef8dc701cf86479c7047001a36e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,13 +20,12 @@ build-page:
     - chmod +x ./build-page.sh
   script:
     - |
-      if [ "$CI_COMMIT_BRANCH" == "publish" ] || [ "$CI_COMMIT_BRANCH" == "main" ]; then
-        echo "Running on branch $CI_COMMIT_BRANCH"
+      if [ "$CI_COMMIT_BRANCH" == "publish" ]; then
         ./build-page.sh "/" true
       else
-        echo "Running on other branches"
-        ./build-page.sh /draft false
+        ./build-page.sh "/draft" false
       fi
+
   artifacts:
     paths:
       - public
diff --git a/build-page.sh b/build-page.sh
index 6a7ce3fe10281b8afff37a70094dc302d58c5bca..55229b7cf2843f24867d0a73cba08c66904ebeb2 100644
--- a/build-page.sh
+++ b/build-page.sh
@@ -7,7 +7,7 @@ PAGE_ROOT=$(echo "$PAGE_ROOT" | sed 's:/*$::')
 
 if [ "$IS_PUBLISH_DEPLOYMENT" = true ]; then
     echo "Using publish deployment strategy"
-    # Remove the baner which identifies the book as a draft
+    # Remove the banner which identifies the site as a draft
     if ! command -v yq &>/dev/null; then
         echo "yq could not be found, the draft banner cannot be removed"
         echo "Please install yq (with APT or via https://github.com/mikefarah/yq#install) and try again"
@@ -17,7 +17,15 @@ if [ "$IS_PUBLISH_DEPLOYMENT" = true ]; then
     fi
 else
     echo "Using draft deployment strategy"
+    # Ensure the draft flag is true for non-publish deployments
+    if ! command -v yq &>/dev/null; then
+        echo "yq could not be found, the draft banner cannot be enforced"
+        echo "Please install yq (with APT or via https://github.com/mikefarah/yq#install) and try again"
+    else
+        cp _config.yml _config.yml.bak
+        yq -i '.is_draft = true' _config.yml
+    fi
 fi
 
-echo "Publishing to  page root: \"$PAGE_ROOT\""
+echo "Publishing to page root: \"$PAGE_ROOT\""
 bundle exec jekyll build -d public -b "$PAGE_ROOT"