diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8bce04570a6152d8f116bd9ec22858d285b56219..efb0a9953b1a78976cb6459c512f84bb158ccaf4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,7 +11,13 @@ fetch_fragments:
     - if: $CI_COMMIT_BRANCH == "docs"
     - when: always
   script:
-    - TARGET_PIPELINE_ID=`curl -s "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/pipelines?ref=${TARGET_BRANCH}&status=success" | jq ".[0].id"`
+    - if [ "${SOURCE_CI_PIPELINE_ID}" == "" ]; then
+        echo "Finding TARGET_PIPELINE_ID"
+        TARGET_PIPELINE_ID=`curl -s "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/pipelines?ref=${TARGET_BRANCH}&status=success" | jq ".[0].id"`
+      else
+        echo "TARGET_PIPELINE_ID provided by SOURCE_CI_PIPELINE_ID=${SOURCE_CI_PIPELINE_ID}"
+        TARGET_PIPELINE_ID=${SOURCE_CI_PIPELINE_ID}
+      fi
     - TARGET_JOB_ID=`curl ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/pipelines/${TARGET_PIPELINE_ID}/jobs | jq --arg JOB_NAME "$JOB_NAME" '.[] | select(.name==$JOB_NAME)' | jq .id`
     - curl ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/jobs/${TARGET_JOB_ID}/artifacts --output fragments.zip
     - unzip fragments.zip