diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeSupportFunction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeSupportFunction.java
index 6334d1e..85ef28c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeSupportFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeSupportFunction.java
@@ -67,10 +67,10 @@
     }
 
     CrosstoolRelease crosstoolRelease = null;
-    if (key.getCcToolchainSuiteLabel() != null) {
+    if (key.getPackageWithCrosstoolInIt() != null) {
       try {
         // 1. Lookup the package to handle multiple package roots (PackageLookupValue)
-        PackageIdentifier packageIdentifier = key.getCcToolchainSuiteLabel().getPackageIdentifier();
+        PackageIdentifier packageIdentifier = key.getPackageWithCrosstoolInIt();
         PackageLookupValue crosstoolPackageValue =
             (PackageLookupValue) env.getValue(PackageLookupValue.key(packageIdentifier));
         if (env.valuesMissing()) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeSupportValue.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeSupportValue.java
index d097230..d5ece4b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeSupportValue.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeSupportValue.java
@@ -14,7 +14,7 @@
 package com.google.devtools.build.lib.rules.cpp;
 
 import com.google.common.collect.Interner;
-import com.google.devtools.build.lib.cmdline.Label;
+import com.google.devtools.build.lib.cmdline.PackageIdentifier;
 import com.google.devtools.build.lib.concurrent.BlazeInterners;
 import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
@@ -49,22 +49,22 @@
     private static final Interner<Key> interner = BlazeInterners.newWeakInterner();
 
     @Nullable private final PathFragment fdoZipPath;
-    @Nullable private final Label ccToolchainSuiteLabel;
+    @Nullable private final PackageIdentifier packageWithCrosstoolInIt;
 
-    private Key(PathFragment fdoZipPath, Label ccToolchainSuiteLabel) {
+    private Key(PathFragment fdoZipPath, PackageIdentifier packageWithCrosstoolInIt) {
       this.fdoZipPath = fdoZipPath;
-      this.ccToolchainSuiteLabel = ccToolchainSuiteLabel;
+      this.packageWithCrosstoolInIt = packageWithCrosstoolInIt;
     }
 
     @AutoCodec.Instantiator
     @AutoCodec.VisibleForSerialization
-    static Key of(PathFragment fdoZipPath, Label ccToolchainSuiteLabel) {
-      return interner.intern(new Key(fdoZipPath, ccToolchainSuiteLabel));
+    static Key of(PathFragment fdoZipPath, PackageIdentifier packageWithCrosstoolInIt) {
+      return interner.intern(new Key(fdoZipPath, packageWithCrosstoolInIt));
     }
 
     @Nullable
-    public Label getCcToolchainSuiteLabel() {
-      return ccToolchainSuiteLabel;
+    public PackageIdentifier getPackageWithCrosstoolInIt() {
+      return packageWithCrosstoolInIt;
     }
 
     @Nullable
@@ -82,13 +82,13 @@
       }
       Key key = (Key) o;
       return Objects.equals(fdoZipPath, key.fdoZipPath)
-          && Objects.equals(ccToolchainSuiteLabel, key.ccToolchainSuiteLabel);
+          && Objects.equals(packageWithCrosstoolInIt, key.packageWithCrosstoolInIt);
     }
 
     @Override
     public int hashCode() {
 
-      return Objects.hash(fdoZipPath, ccToolchainSuiteLabel);
+      return Objects.hash(fdoZipPath, packageWithCrosstoolInIt);
     }
 
     @Override
@@ -118,7 +118,7 @@
     return crosstoolRelease;
   }
 
-  public static SkyKey key(PathFragment fdoZipPath, Label ccToolchainSuiteLabel) {
-    return Key.of(fdoZipPath, ccToolchainSuiteLabel);
+  public static SkyKey key(PathFragment fdoZipPath, PackageIdentifier packageWithCrosstoolInIt) {
+    return Key.of(fdoZipPath, packageWithCrosstoolInIt);
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderHelper.java
index 748166d..d8059ad 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderHelper.java
@@ -404,12 +404,12 @@
 
     // Is there a toolchain proto available on the target directly?
     CToolchain toolchain = parseToolchainFromAttributes(ruleContext, attributes);
-    Label ccToolchainSuiteLabelIfNeeded = null;
+    PackageIdentifier packageWithCrosstoolInIt = null;
     if (toolchain == null && cppConfiguration.getCrosstoolFromCcToolchainProtoAttribute() == null) {
-      ccToolchainSuiteLabelIfNeeded = cppConfiguration.getCrosstoolTop();
+      packageWithCrosstoolInIt = ruleContext.getLabel().getPackageIdentifier();
     }
 
-    SkyKey ccSupportKey = CcSkyframeSupportValue.key(fdoZip, ccToolchainSuiteLabelIfNeeded);
+    SkyKey ccSupportKey = CcSkyframeSupportValue.key(fdoZip, packageWithCrosstoolInIt);
 
     SkyFunction.Environment skyframeEnv = ruleContext.getAnalysisEnvironment().getSkyframeEnv();
     CcSkyframeSupportValue ccSkyframeSupportValue;
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/LicensingTests.java b/src/test/java/com/google/devtools/build/lib/analysis/LicensingTests.java
index c555efb..f397f04 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/LicensingTests.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/LicensingTests.java
@@ -468,6 +468,7 @@
         "    all_files = ':every-file',",
         "    dynamic_runtime_libs = ['dynamic-runtime-libs-cherry'],",
         "    static_runtime_libs = ['static-runtime-libs-cherry'])");
+    scratch.file("c/CROSSTOOL", AnalysisMock.get().ccSupport().readCrosstoolFile());
 
     ConfiguredTarget target = getConfiguredTarget("//c:c");
     Map<Label, License> expected = licenses("//c:c", "notice");
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcHostToolchainAliasTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcHostToolchainAliasTest.java
index 7b2e675..de24239 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcHostToolchainAliasTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcHostToolchainAliasTest.java
@@ -42,9 +42,8 @@
 
   @Test
   public void testThatHostCrosstoolTopCommandLineArgumentWorks() throws Exception {
-
     scratch.file(
-        "t/BUILD",
+        "b/BUILD",
         "cc_toolchain_suite(",
         "  name = 'my_custom_toolchain_suite',",
         "  toolchains = {",
@@ -52,13 +51,7 @@
         "    'k8|compiler': '//b:toolchain_b',",
         "    'x64_windows|windows_msys64': '//b:toolchain_b',",
         "    'darwin|compiler': '//b:toolchain_b',",
-
-        "})");
-
-    scratch.file("t/CROSSTOOL", AnalysisMock.get().ccSupport().readCrosstoolFile());
-
-    scratch.file(
-        "b/BUILD",
+        "})",
         "cc_toolchain(",
         "    name = 'toolchain_b',",
         "    cpu = 'ED-E',",
@@ -72,9 +65,11 @@
         "    objcopy_files = ':empty',",
         "    dynamic_runtime_libs = [':empty'],",
         "    static_runtime_libs = [':empty'])");
+    scratch.file("b/CROSSTOOL", AnalysisMock.get().ccSupport().readCrosstoolFile());
+
     scratch.file("a/BUILD", "cc_host_toolchain_alias(name='current_cc_host_toolchain')");
 
-    useConfiguration("--host_crosstool_top=//t:my_custom_toolchain_suite");
+    useConfiguration("--host_crosstool_top=//b:my_custom_toolchain_suite");
     ConfiguredTarget target = getConfiguredTarget("//a:current_cc_host_toolchain");
 
     assertThat(target.getLabel()).isEqualTo(Label.parseAbsoluteUnchecked("//b:toolchain_b"));
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java
index 74bb8f5..662a04d 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainTest.java
@@ -23,6 +23,7 @@
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
 import com.google.devtools.build.lib.analysis.RuleContext;
 import com.google.devtools.build.lib.analysis.platform.ToolchainInfo;
+import com.google.devtools.build.lib.analysis.util.AnalysisMock;
 import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
 import com.google.devtools.build.lib.packages.util.MockCcSupport;
 import com.google.devtools.build.lib.packages.util.ResourceLoader;
@@ -341,6 +342,7 @@
         "    objcopy_files = ':empty',",
         "    dynamic_runtime_libs = [':empty'],",
         "    static_runtime_libs = [':empty'])");
+    scratch.file("a/CROSSTOOL", AnalysisMock.get().ccSupport().readCrosstoolFile());
 
     // Check defaults.
     useConfiguration();
@@ -682,6 +684,7 @@
         "fdo/BUILD",
         "exports_files(['my_profile.afdo'])",
         "fdo_profile(name = 'fdo', profile = ':my_profile.profdata')");
+    scratch.file("a/CROSSTOOL", AnalysisMock.get().ccSupport().readCrosstoolFile());
 
     useConfiguration();
     assertThat(getPrerequisites(getConfiguredTarget("//a:b"), ":zipper")).isEmpty();
@@ -768,6 +771,7 @@
         "    dynamic_runtime_libs = [':empty'],",
         "    static_runtime_libs = [':empty'],",
         "    toolchain_config = ':toolchain_config')");
+    scratch.file("a/CROSSTOOL", AnalysisMock.get().ccSupport().readCrosstoolFile());
 
     scratch.file(
         "a/crosstool_rule.bzl",
