diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index de1e557572f22989de11ecbff31204de658d77e3..fd634acd8cc19e2fabe37c56dc146bcfbf08be47 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -61,13 +61,25 @@ aggregate-docs:
     - if: '$CI_PIPELINE_SOURCE == "schedule"'
     - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TITLE =~ /^(wip|draft):.*/i'
       when: manual
+      variables:
+        # See below for rationale.
+        CI_ONIRO_MANIFEST_URL: "$CI_MERGE_REQUEST_SOURCE_PROJECT_URL"
+        CI_ONIRO_MANIFEST_BRANCH: "$CI_COMMIT_REF_NAME"
     - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
       changes:
         - assets/**/*
         - flavours/**/*
         - meta-*/**/*
         - .oniro-ci/*
+      # When building a merge request substitute the CI_ONIRO_MANIFEST_URL to point
+      # to the incoming repository, and CI_ONIRO_MANIFEST_BRANCH, to the right
+      # branch name. This allows testing the changes coming into project. This
+      # is done here, so that it does not clobber scheduled pipelines.
+      variables:
+        CI_ONIRO_MANIFEST_URL: "$CI_MERGE_REQUEST_SOURCE_PROJECT_URL"
+        CI_ONIRO_MANIFEST_BRANCH: "$CI_COMMIT_REF_NAME"
     - if: '$CI_COMMIT_TAG'
+      # XXX: This needs CI_ONIRO_MANIFEST_BRANCH as well, most likely.
 
 # Mimic the updated rules for lava-test from the bitbake-workspace.
 .lava-test: