diff --git a/src/viewmodels/RootViewModel.ts b/src/viewmodels/RootViewModel.ts
index a904c333f2329438edcbb07ea6ec92df9b5e1d7b..9327b644d783034f2929caffe6423a4cf8527d0d 100644
--- a/src/viewmodels/RootViewModel.ts
+++ b/src/viewmodels/RootViewModel.ts
@@ -1,4 +1,4 @@
-import { ViewModel, Client, Navigation, createRouter, Platform, RoomStatus } from "hydrogen-view-sdk";
+import { ViewModel, Client, Navigation, createRouter, Platform, RoomStatus, LoadStatus } from "hydrogen-view-sdk";
 import { IChatterboxConfig } from "../types/IChatterboxConfig";
 import { ChatterboxViewModel } from "./ChatterboxViewModel";
 import "hydrogen-view-sdk/style.css";
@@ -105,6 +105,7 @@ export class RootViewModel extends ViewModel {
     }
 
     private async _watchNotificationCount() {
+        await this._client.loadStatus.waitFor(s => s === LoadStatus.Ready).promise;
         const roomId = await this.platform.settingsStorage.getString("created-room-id") ?? this._config.auto_join_room;
         const observable = await this._client.session.observeRoomStatus(roomId);
         await observable.waitFor((status) => status === RoomStatus.Joined).promise;