diff --git a/src/viewmodels/RootViewModel.ts b/src/viewmodels/RootViewModel.ts
index cf72fe1304524866471bd211a7d24e20a08fb301..ae2f3463e9fb31fbda513a7012dab6a13f7fd4de 100644
--- a/src/viewmodels/RootViewModel.ts
+++ b/src/viewmodels/RootViewModel.ts
@@ -15,6 +15,7 @@ export class RootViewModel extends ViewModel {
     private _activeSection?: string;
     private _messageFromParent: MessageFromParent = new MessageFromParent();
     private _startMinimized: boolean;
+    private _isWatchingNotificationCount: boolean;
 
     constructor(config: IChatterboxConfig, options: Options) {
         super(options);
@@ -57,7 +58,11 @@ export class RootViewModel extends ViewModel {
                     minimize: () => this.minimizeChatterbox()
                 })
             ));
-            this._chatterBoxViewModel.load();
+            await this._chatterBoxViewModel.load();
+            if (!this._isWatchingNotificationCount) {
+                // for when chatterbox is loaded initially
+                this._watchNotificationCount();
+            }
         }
         this.emitChange("activeSection");
     }
@@ -112,6 +117,7 @@ export class RootViewModel extends ViewModel {
             },
         };
         this.track(this._client.session.rooms.subscribe(subscription));
+        this._isWatchingNotificationCount = true;
     }
     
     minimizeChatterbox() {