diff --git a/src/gn/settings.cc b/src/gn/settings.cc
index 154e0af..c9a36c9 100644
--- a/src/gn/settings.cc
+++ b/src/gn/settings.cc
@@ -27,3 +27,12 @@
   if (!toolchain_output_dir_.is_null())
     toolchain_gen_dir_ = SourceDir(toolchain_output_dir_.value() + "gen/");
 }
+
+bool Settings::ShouldShowToolchain(
+    std::initializer_list<const Label*> labels) const {
+  for (auto label : labels) {
+    if (label->GetToolchainLabel() != default_toolchain_label_)
+      return true;
+  }
+  return false;
+}
diff --git a/src/gn/settings.h b/src/gn/settings.h
index 9b83b60..79d1904 100644
--- a/src/gn/settings.h
+++ b/src/gn/settings.h
@@ -86,6 +86,11 @@
     greedy_target_generation_ = gtg;
   }
 
+  // Returns true if any Label in the list provided is not in the default
+  // toolchain, and therefore any error message that involves this list of
+  // Labels should print the toolchain for each Label.
+  bool ShouldShowToolchain(std::initializer_list<const Label*> labels) const;
+
  private:
   const BuildSettings* build_settings_;
 
diff --git a/src/gn/visibility.cc b/src/gn/visibility.cc
index acbb500..61423ff 100644
--- a/src/gn/visibility.cc
+++ b/src/gn/visibility.cc
@@ -92,15 +92,21 @@
                                      const Item* to,
                                      Err* err) {
   if (!to->visibility().CanSeeMe(from->label())) {
-    bool with_toolchain =
-        !from->settings()->is_default() || !to->settings()->is_default();
+    bool with_toolchain = from->settings()->ShouldShowToolchain({
+        &to->label(),
+        &from->label(),
+    });
     std::string to_label = to->label().GetUserVisibleName(with_toolchain);
     std::string from_label = from->label().GetUserVisibleName(with_toolchain);
     *err = Err(from->defined_from(), "Dependency not allowed.",
-               "The item " + from_label + "\n"
-                   "can not depend on " + to_label + "\n"
-                   "because it is not in " + to_label + "'s visibility list: " +
-                   to->visibility().Describe(0, true));
+               "The item " + from_label +
+                   "\n"
+                   "can not depend on " +
+                   to_label +
+                   "\n"
+                   "because it is not in " +
+                   to_label +
+                   "'s visibility list: " + to->visibility().Describe(0, true));
     return false;
   }
   return true;
