diff --git a/clive/__private/ui/app.py b/clive/__private/ui/app.py
index a3ad343c0d5cd0757a8ab8de8aa4baf505640554..9a25ab2a5df3c4a298c9d34203767b97553b50a8 100644
--- a/clive/__private/ui/app.py
+++ b/clive/__private/ui/app.py
@@ -244,8 +244,10 @@ class Clive(App[int]):
 
     def update_alarms_data_asap_on_newest_node_data(self) -> Worker[None]:
         """Update alarms on the newest possible node data."""
-        self.update_data_from_node()
-        return self.update_alarms_data()
+        async def update_alarms_data_on_newest_node_data() -> None:
+            await self.update_data_from_node().wait()
+            await self.update_alarms_data().wait()
+        return self.run_worker(update_alarms_data_on_newest_node_data())
 
     @work(name="alarms data update worker", group="alarms_data", exclusive=True)
     async def update_alarms_data(self) -> None: