diff --git a/.gitmodules b/.gitmodules
index cb0eb34..7a7d552 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,9 @@
 [submodule "submodules/buildroot"]
 	path = submodules/buildroot
 	url = ../../github/buildroot/buildroot
+[submodule "submodules/dependencies"]
+	path = submodules/dependencies
+	url = ../dependencies
 [submodule "submodules/cla-sysrepo"]
 	path = submodules/cla-sysrepo
 	url = ../../CzechLight/cla-sysrepo
diff --git a/ci/build.sh b/ci/build.sh
index 7f9a4ee..8e0b0b8 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -24,23 +24,6 @@
 fi
 BR2_EXTERNAL_COMMIT=$(git --git-dir ${ZUUL_PROJECT_SRC_DIR}/.git rev-parse HEAD)
 
-# If we're being triggered via a change against another repo, use speculatively merged stuff from Zuul, not our submodules
-if [[ ${TRIGGERED_VIA_DEP} == 1 ]]; then
-    # C++ dependencies can be provided either via cla-sysrepo, or via netconf-cli.
-    # Whatever is the latest change in the queue wins.
-    USE_DEPENDENCIES_VIA=$(jq < ~/zuul-env.json -r '[.items[]? | select(.project.name == "CzechLight/cla-sysrepo" or .project.name == "CzechLight/netconf-cli")][-1]?.project.src_dir + ""')
-    if [[ ! -z "${USE_DEPENDENCIES_VIA}" ]]; then
-        sed -i "s|${ZUUL_PROJECT_SRC_DIR}/submodules/cla-sysrepo/submodules/dependencies/|${HOME}/${USE_DEPENDENCIES_VIA}/submodules/dependencies/|g" local.mk
-        # Our Zuul playbook only prepares submodules within CzechLight/br2-external, not submodules of other projects
-        pushd ${HOME}/${USE_DEPENDENCIES_VIA}
-        # ...and before we check out, make sure that relative URLs work, i.e,. no file:///dev/null
-        git config remote.origin.url $(pwd)
-        git submodule update --init --recursive
-        git config remote.origin.url file:///dev/null
-        popd
-    fi
-fi
-
 if [[ "${ZUUL_JOB_NAME}" =~ clearfog ]]; then
     make czechlight_clearfog_defconfig
 elif [[ "${ZUUL_JOB_NAME}" =~ beagleboneblack ]]; then
@@ -74,23 +57,24 @@
             rm -rf build/${PROJECT}-custom/ per-package/${PROJECT}/
         fi
     done
+fi
 
-    # Is there a change ahead which updates CzechLight/dependencies? If so, make sure these will get rebuilt
-    # This is (still) not foolproof. It will use a wrong version of dependencies if that change has been already merged, but br2-external doesn't have it merged.
-    # Also, we cannot remove all "leaf projects" like cla-sysrepo, netconf-cli, velia, etc. When there's a backwards-incompatible change,
-    # this project will get one rebuild per each "leaf" update. The resulting image might not even boot (think the update to libyang v2),
-    # but it's still important to check whether a given project at least *builds* for ARM. After a "big" update there should always be a
-    # standalone sync to `br2-external` as the very last step anyway.
-    HAS_CHANGE_OF_DEPENDENCIES=$(jq < ~/zuul-env.json -r '[.items[]? | select(.project.name == "CzechLight/dependencies")][-1]?.project.src_dir + ""')
-    if [[ ! -z "${HAS_CHANGE_OF_DEPENDENCIES}" ]]; then
-        for PROJECT in \
-		libyang sysrepo libnetconf2 netopeer2 \
-		libyang-cpp sysrepo-cpp \
-		docopt-cpp replxx cppcodec sdbus-cpp \
-		; do
-            rm -rf build/{,host-}${PROJECT}-custom/ per-package/{,host-}${PROJECT}/
-        done
-    fi
+# Is there a change ahead which updates CzechLight/dependencies? If so, make sure these will get rebuilt.
+# This is fragile; if we're triggered via an external module (e.g., `netconf-cli`) and its corresponding change
+# depends on a backwards-incompatible update in the NETCONF stack, and the other projects (e.g., `velia`) have not
+# been updated yet, this will result in a potentially broken result of the build.
+# We cannot simply rebuild all C++ leaf projects either, because we're being triggered one-at-a-time. Since Zuul
+# requires (some) build job ordering, there will always be at least one repo which is "too new" for the rest of the leaf projects.
+# After a "big" update there should always be a standalone sync to `br2-external` as the very last step anyway.
+HAS_CHANGE_OF_DEPENDENCIES=$(jq < ~/zuul-env.json -r '[.items[]? | select(.project.name == "CzechLight/dependencies")][-1]?.project.src_dir + ""')
+if [[ ! -z "${HAS_CHANGE_OF_DEPENDENCIES}" ]]; then
+for PROJECT in \
+	libyang sysrepo libnetconf2 netopeer2 \
+	libyang-cpp sysrepo-cpp \
+	docopt-cpp replxx cppcodec sdbus-cpp \
+	; do
+    rm -rf build/{,host-}${PROJECT}-custom/ per-package/{,host-}${PROJECT}/
+done
 fi
 
 make source -j${CI_PARALLEL_JOBS} --output-sync=target
diff --git a/dev-setup-git.sh b/dev-setup-git.sh
index 4f4316b..cc76c80 100755
--- a/dev-setup-git.sh
+++ b/dev-setup-git.sh
@@ -8,18 +8,18 @@
 # Configure the local.mk with path to the individual repositories
 CZECHLIGHT_BR2_EXT_LOC="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 cat > local.mk <<EOF
-DOCOPT_CPP_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/cla-sysrepo/submodules/dependencies/docopt.cpp
-REPLXX_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/cla-sysrepo/submodules/dependencies/replxx
-CPPCODEC_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/cla-sysrepo/submodules/dependencies/cppcodec
-SDBUS_CPP_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/cla-sysrepo/submodules/dependencies/sdbus-cpp
+DOCOPT_CPP_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/dependencies/docopt.cpp
+REPLXX_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/dependencies/replxx
+CPPCODEC_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/dependencies/cppcodec
+SDBUS_CPP_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/dependencies/sdbus-cpp
 
-LIBYANG_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/cla-sysrepo/submodules/dependencies/libyang
-LIBYANG_CPP_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/cla-sysrepo/submodules/dependencies/libyang-cpp
-SYSREPO_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/cla-sysrepo/submodules/dependencies/sysrepo
-SYSREPO_CPP_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/cla-sysrepo/submodules/dependencies/sysrepo-cpp
+LIBYANG_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/dependencies/libyang
+LIBYANG_CPP_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/dependencies/libyang-cpp
+SYSREPO_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/dependencies/sysrepo
+SYSREPO_CPP_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/dependencies/sysrepo-cpp
 HOST_SYSREPO_POST_RSYNC_HOOKS += HOST_SYSREPO_PATCH_USE_FAKE_DEV_SHM
-LIBNETCONF2_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/cla-sysrepo/submodules/dependencies/libnetconf2
-NETOPEER2_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/cla-sysrepo/submodules/dependencies/Netopeer2
+LIBNETCONF2_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/dependencies/libnetconf2
+NETOPEER2_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/dependencies/Netopeer2
 
 CLA_SYSREPO_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/cla-sysrepo
 NETCONF_CLI_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/netconf-cli
diff --git a/submodules/dependencies b/submodules/dependencies
new file mode 160000
index 0000000..07f0bd8
--- /dev/null
+++ b/submodules/dependencies
@@ -0,0 +1 @@
+Subproject commit 07f0bd86e8a12767e14ac5e3f51558e6d05e438a
