diff --git a/src/cargo/core/resolver/dep_cache.rs b/src/cargo/core/resolver/dep_cache.rs
index ca587920820..aa2bcc8daa3 100644
--- a/src/cargo/core/resolver/dep_cache.rs
+++ b/src/cargo/core/resolver/dep_cache.rs
@@ -19,6 +19,8 @@ use crate::core::interning::InternedString;
 use crate::core::{Dependency, FeatureValue, PackageId, PackageIdSpec, Registry, Summary};
 use crate::util::errors::{CargoResult, CargoResultExt};
 
+use crate::core::resolver::context::Context;
+use crate::core::resolver::errors::describe_path;
 use crate::core::resolver::types::{ConflictReason, DepInfo, FeaturesSet};
 use crate::core::resolver::{ActivateResult, ResolveOpts};
 
@@ -197,6 +199,7 @@ impl<'a> RegistryQueryer<'a> {
     /// next obvious question.
     pub fn build_deps(
         &mut self,
+        cx: &Context,
         parent: Option<PackageId>,
         candidate: &Summary,
         opts: &ResolveOpts,
@@ -222,9 +225,10 @@ impl<'a> RegistryQueryer<'a> {
             .map(|(dep, features)| {
                 let candidates = self.query(&dep).chain_err(|| {
                     anyhow::format_err!(
-                        "failed to get `{}` as a dependency of `{}`",
+                        "failed to get `{}` as a dependency of `{}` ... {}",
                         dep.package_name(),
                         candidate.package_id(),
+                        &describe_path(&cx.parents.path_to_bottom(&candidate.package_id())),
                     )
                 })?;
                 Ok((dep, candidates, features))
diff --git a/src/cargo/core/resolver/mod.rs b/src/cargo/core/resolver/mod.rs
index 7646fc3ac8a..52067d1d2f7 100644
--- a/src/cargo/core/resolver/mod.rs
+++ b/src/cargo/core/resolver/mod.rs
@@ -656,7 +656,7 @@ fn activate(
 
     let now = Instant::now();
     let (used_features, deps) =
-        &*registry.build_deps(parent.map(|p| p.0.package_id()), &candidate, &opts)?;
+        &*registry.build_deps(&*cx, parent.map(|p| p.0.package_id()), &candidate, &opts)?;
 
     // Record what list of features is active for this package.
     if !used_features.is_empty() {