diff --git a/framework/core/js/src/common/components/Modal.js b/framework/core/js/src/common/components/Modal.js
index <HASH>..<HASH> 100644
--- a/framework/core/js/src/common/components/Modal.js
+++ b/framework/core/js/src/common/components/Modal.js
@@ -33,6 +33,9 @@ export default class Modal extends Component {
     // we don't need to show a hide animation.
     if (!this.attrs.state.modal) {
       this.attrs.animateHide();
+      // Here, we ensure that the animation has time to complete.
+      // See https://mithril.js.org/lifecycle-methods.html#onbeforeremove
+      return new Promise((resolve) => setTimeout(resolve, 1000));
     }
   }
Ensure that modal hide animates (#<I>)

We want to return a promise in``onbeforeremove` with arbitrary loading time to ensure that the animateHide animation has time to complete.