diff --git a/tools/gn/target.cc b/tools/gn/target.cc
index db7a1be..bc87928 100644
--- a/tools/gn/target.cc
+++ b/tools/gn/target.cc
@@ -918,7 +918,7 @@
   // Gather walk keys and find the appropriate target. Targets identified in
   // the walk key set must be deps or data_deps of the declaring target.
   const DepsIteratorRange& all_deps = GetDeps(Target::DEPS_ALL);
-  const SourceDir current_dir("//");
+  const SourceDir& current_dir = label().dir();
   for (const auto& next : next_walk_keys) {
     DCHECK(next.type() == Value::STRING);
 
diff --git a/tools/gn/target_unittest.cc b/tools/gn/target_unittest.cc
index 24f4822..93fc6a4 100644
--- a/tools/gn/target_unittest.cc
+++ b/tools/gn/target_unittest.cc
@@ -1189,11 +1189,11 @@
 
   Value walk_expected(nullptr, Value::LIST);
   walk_expected.list_value().push_back(
-      Value(nullptr, "//foo:two(//toolchain:default)"));
+      Value(nullptr, "two"));
   one.metadata().contents().insert(
       std::pair<std::string_view, Value>("walk", walk_expected));
 
-  TestTarget two(setup, "//foo:two", Target::SOURCE_SET);
+  TestTarget two(setup, "//foo/two:two", Target::SOURCE_SET);
   Value a_2_expected(nullptr, Value::LIST);
   a_2_expected.list_value().push_back(Value(nullptr, "bar"));
   two.metadata().contents().insert(
@@ -1205,7 +1205,7 @@
   three.metadata().contents().insert(
       std::pair<std::string_view, Value>("a", a_3_expected));
 
-  one.public_deps().push_back(LabelTargetPair(&two));
+  one.private_deps().push_back(LabelTargetPair(&two));
   one.public_deps().push_back(LabelTargetPair(&three));
 
   std::vector<std::string> data_keys;
