diff --git a/.oniro-ci/build-generic.yaml b/.oniro-ci/build-generic.yaml
index d12d47ed23a76dacafa386f2e4bd56358b4c407e..12807864cc1f3386b20141b238cc07dc4821877f 100644
--- a/.oniro-ci/build-generic.yaml
+++ b/.oniro-ci/build-generic.yaml
@@ -54,6 +54,14 @@
         ( cd "$CI_ONIRO_GIT_REPO_PATH" && git checkout "$CI_COMMIT_SHA" );
       fi
 
+    # Some of the repo projects come with LFS configuration (that repo refuses
+    # to initialize). See:
+    # https://gerrit-review.googlesource.com/c/git-repo/+/83130/. As per this
+    # limitation, the repositories using LFS blobs need to be pulled manually.
+    # Now that repo synced all projects and we handled fork-based merge
+    # requests, we can pull all the LFS blobs.
+    - find -type d -name .git -execdir git lfs pull \;
+
   script:
     # Reload the value of SCRATCH_DIR set in the before_script phase. Those run
     # in separate shell processes and do not share environment variables.