diff --git a/scripts/sync_engine_to_revision.sh b/scripts/sync_engine_to_revision.sh
index 04673aa..dd98810 100755
--- a/scripts/sync_engine_to_revision.sh
+++ b/scripts/sync_engine_to_revision.sh
@@ -79,6 +79,9 @@
 font_initialization_data_fix=2aa6de94a2d16a50982b0b8ab5a09fa4bc0443b5
 get_engine_fix "naudzghebre" "${font_initialization_data_fix}" "to get API change to embedder.h for setting font_initialization_data.."
 
+async_msg_loop_fix=1275e614f23b46b5a77f39563b73acd038309428
+get_engine_fix "bergkampben" "${async_msg_loop_fix}" "to get API change to fix the issue with multiple async::Loops for the main platform thread"
+
 popd  # "${embedder_engine_dir}"/flutter
 
 echo "${engine_revision}" > "${FUCHSIA_EMBEDDER_DIR}"/src/embedder/engine/engine_revision
diff --git a/src/embedder/engine/debug_x64/libflutter_engine.so b/src/embedder/engine/debug_x64/libflutter_engine.so
index 543f513..486854e 100755
--- a/src/embedder/engine/debug_x64/libflutter_engine.so
+++ b/src/embedder/engine/debug_x64/libflutter_engine.so
Binary files differ
diff --git a/src/embedder/engine/embedder.h b/src/embedder/engine/embedder.h
index 53cd409..34cf5ca 100644
--- a/src/embedder/engine/embedder.h
+++ b/src/embedder/engine/embedder.h
@@ -2597,6 +2597,10 @@
     VoidCallback callback,
     void* user_data);
 
+// Temporary hack
+FLUTTER_EXPORT
+void FlutterEngineRunMessageLoop();
+
 #endif  // !FLUTTER_ENGINE_NO_PROTOTYPES
 
 // Typedefs for the function pointers in FlutterEngineProcTable.
@@ -2719,6 +2723,7 @@
     FLUTTER_API_SYMBOL(FlutterEngine) engine,
     VoidCallback callback,
     void* user_data);
+typedef void (*FlutterEngineRunMessageLoopCallbackFnPtr)();
 
 /// Function-pointer-based versions of the APIs above.
 typedef struct {
@@ -2765,6 +2770,7 @@
   FlutterEngineNotifyDisplayUpdateFnPtr NotifyDisplayUpdate;
   FlutterEngineScheduleFrameFnPtr ScheduleFrame;
   FlutterEngineSetNextFrameCallbackFnPtr SetNextFrameCallback;
+  FlutterEngineRunMessageLoopCallbackFnPtr RunMessageLoopCallback;
 } FlutterEngineProcTable;
 
 //------------------------------------------------------------------------------
diff --git a/src/embedder/main.cc b/src/embedder/main.cc
index b6cd7d5..e6750c1 100644
--- a/src/embedder/main.cc
+++ b/src/embedder/main.cc
@@ -34,6 +34,7 @@
 #include "src/embedder/software_surface.h"
 #include "src/embedder/text_delegate.h"
 #include "src/embedder/touch_delegate.h"
+#include "src/embedder/fuchsia_logger.h"
 
 namespace embedder {
 namespace {
@@ -243,16 +244,8 @@
     return EXIT_FAILURE;
   }
 
-  // Attaching the async loop to the current thread must happen
-  // immediately after RunFlutterApp to ensure that bindings in the embedder
-  // use the embedder's dispatcher to send requests instead of the Dart VM's
-  // dispatcher.
-  //
-  // Bindings created in the embedder before this line will never get fired.
-  //
-  // TODO(https://fxbug.dev/75282): Remove the logic in the Dart VM that sets its
-  // own default dispatcher to reduce the amount of global state.
-  async::Loop loop(&kAsyncLoopConfigAttachToCurrentThread);
+  // Ensure default dispatcher is set after caling RunFlutterApp
+  FX_CHECK(async_get_default_dispatcher());
 
   // Necessary to get Flutter to render frames.
   FlutterWindowMetricsEvent window_metrics_event = {
@@ -378,7 +371,7 @@
 
   // Our run loop's dispatcher must be used to serve the component context in
   // order for requests' handlers to get called while we're looping.
-  status = embedder.component_context->outgoing()->ServeFromStartupInfo(loop.dispatcher());
+  status = embedder.component_context->outgoing()->ServeFromStartupInfo();
   if (status != ZX_OK) {
     FX_LOGF(ERROR, embedder::kLogTag, "Failed to serve component context: %s",
             zx_status_get_string(status));
@@ -405,8 +398,8 @@
     return EXIT_FAILURE;
   }
 
-  // Loop until we're done.
-  loop.Run();
+  // TODO(benbergkamp): temporary workaround
+  FlutterEngineRunMessageLoop();
 
   FX_LOG(INFO, embedder::kLogTag, "Done looping.");
   return EXIT_SUCCESS;
diff --git a/third_party/depot_tools b/third_party/depot_tools
index d9db3f6..9d351f8 160000
--- a/third_party/depot_tools
+++ b/third_party/depot_tools
@@ -1 +1 @@
-Subproject commit d9db3f6fd8ec38121d5255b8fbded901e7ca16eb
+Subproject commit 9d351f8b5aa6d0362eae0c6d32b4e9b6ef3207bf
