diff --git a/bigbluebutton-html5/imports/ui/components/chat/time-window-list/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/time-window-list/component.jsx
index 0ad1f177b48c725eee0fc68c64608a8d20ef453c..9c7ac0f47c69c25250bbf2b4292a4057fbc75884 100644
--- a/bigbluebutton-html5/imports/ui/components/chat/time-window-list/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/chat/time-window-list/component.jsx
@@ -133,7 +133,7 @@ class TimeWindowList extends PureComponent {
       ) {
       if (chatId !== prevChatId){
         this.systemMessageIndexes.forEach(index => {
-          this.listRef.recomputeRowHeights(index);
+          this.clearAndRecompute(index);
         });
       }
       this.listRef.forceUpdateGrid();
@@ -160,6 +160,17 @@ class TimeWindowList extends PureComponent {
     handleScrollUpdate(position || 1);
   }
 
+  clearAndRecompute(index) {
+    [500, 1000, 2000, 3000, 4000, 5000].forEach((i)=>{
+      setTimeout(() => {
+        if (this.listRef) {
+          this.cache.clear(index);
+          this.listRef.recomputeRowHeights(index);
+        }
+      }, i);
+    })
+  }
+
   scrollTo(position = null) {
     if (position) {
       setTimeout(() => this.setState({
@@ -193,14 +204,7 @@ class TimeWindowList extends PureComponent {
     if (needResizeMessages.includes(message.key)) {
       if (!this.systemMessageIndexes.includes(index)) {
         this.systemMessageIndexes.push(index);
-        [500, 1000, 2000, 3000, 4000, 5000].forEach((i)=>{
-          setTimeout(() => {
-            if (this.listRef) {
-              this.cache.clear(index);
-              this.listRef.recomputeRowHeights(index);
-            }
-          }, i);
-        })
+        this.clearAndRecompute(index);
       }
     }