diff --git a/runtime/vm/BUILD.gn b/runtime/vm/BUILD.gn
index 89d48c3..458ad3e 100644
--- a/runtime/vm/BUILD.gn
+++ b/runtime/vm/BUILD.gn
@@ -62,7 +62,7 @@
     extra_deps = [
       # TODO(US-399): Remove time_service specific code when it is no longer
       # necessary.
-      "//garnet/public/lib/app/cpp",
+      "//garnet/public/lib/component/cpp",
       "//garnet/public/fidl/fuchsia.timezone",
 
       # TODO(zra): When the platform-specific timeline code is moved out to
diff --git a/runtime/vm/os_fuchsia.cc b/runtime/vm/os_fuchsia.cc
index 23363e3..24a67c7 100644
--- a/runtime/vm/os_fuchsia.cc
+++ b/runtime/vm/os_fuchsia.cc
@@ -16,7 +16,7 @@
 
 #include <fuchsia/timezone/cpp/fidl.h>
 
-#include "lib/app/cpp/environment_services.h"
+#include "lib/component/cpp/environment_services.h"
 
 #include "platform/assert.h"
 #include "vm/zone.h"
@@ -44,7 +44,7 @@
                                                  int32_t* local_offset,
                                                  int32_t* dst_offset) {
   fuchsia::timezone::TimezoneSyncPtr tz;
-  fuchsia::sys::ConnectToEnvironmentService(tz.NewRequest());
+  component::ConnectToEnvironmentService(tz.NewRequest());
   zx_status_t status = tz->GetTimezoneOffsetMinutes(seconds_since_epoch * 1000,
                                                     local_offset, dst_offset);
   if (status != ZX_OK) {
@@ -59,7 +59,7 @@
   // TODO(abarth): Handle time zone changes.
   static const auto* tz_name = new std::string([] {
     fuchsia::timezone::TimezoneSyncPtr tz;
-    fuchsia::sys::ConnectToEnvironmentService(tz.NewRequest());
+    component::ConnectToEnvironmentService(tz.NewRequest());
     fidl::StringPtr result;
     tz->GetTimezoneId(&result);
     return *result;
