diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/SymlinkForest.java b/src/main/java/com/google/devtools/build/lib/buildtool/SymlinkForest.java
index 5a52959..65c2aa4 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/SymlinkForest.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/SymlinkForest.java
@@ -332,8 +332,10 @@
 
     for (Map.Entry<PackageIdentifier, Root> entry : packageRoots.entrySet()) {
       PackageIdentifier pkgId = entry.getKey();
-      if (!siblingRepositoryLayout && pkgId.equals(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER)) {
-        // This isn't a "real" package, don't add it to the symlink tree.
+      if (pkgId.equals(LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER)) {
+        // //external is a virtual package regardless , don't add it to the symlink tree.
+        // Subpackages of
+        // external, like //external/foo, are fine though.
         continue;
       }
       RepositoryName repository = pkgId.getRepository();
diff --git a/src/test/shell/bazel/execroot_test.sh b/src/test/shell/bazel/execroot_test.sh
index f4ad5fc..f0b842c 100755
--- a/src/test/shell/bazel/execroot_test.sh
+++ b/src/test/shell/bazel/execroot_test.sh
@@ -68,6 +68,56 @@
     test ! -e "$execroot/external/bazel_tools/tools/genrule/genrule-setup.sh"
 }
 
+# Regression test for b/149771751
+function test_sibling_repository_layout_indirect_dependency() {
+    touch WORKSPACE
+
+    mkdir external
+    mkdir -p foo
+    cat > BUILD <<'EOF'
+package(default_visibility = ["//visibility:public"])
+
+filegroup(
+    name = "srcs",
+    srcs = ["BUILD"],
+)
+EOF
+    cat > foo/BUILD <<'EOF'
+# cc_library depends on //external:cc_toolchain
+cc_library(
+  name = "srcs",
+  data = ["//:srcs"], # load from root package to trigger symlinking planting of the top level external dir
+)
+EOF
+
+    bazel build --experimental_sibling_repository_layout //foo:srcs || fail "expected success"
+}
+
+# Regression test for b/149771751
+function test_subdirectory_repository_layout_indirect_dependency() {
+    touch WORKSPACE
+
+    mkdir external
+    mkdir -p foo
+    cat > BUILD <<'EOF'
+package(default_visibility = ["//visibility:public"])
+
+filegroup(
+    name = "srcs",
+    srcs = ["BUILD"],
+)
+EOF
+    cat > foo/BUILD <<'EOF'
+# cc_library depends on //external:cc_toolchain
+cc_library(
+  name = "srcs",
+  data = ["//:srcs"], # load from root package to trigger symlinking planting of the top level external dir
+)
+EOF
+
+    bazel build --noexperimental_sibling_repository_layout //foo:srcs || fail "expected success"
+}
+
 function test_no_sibling_repository_layout() {
     touch WORKSPACE
 
