diff --git a/tobago-theme/tobago-theme-standard/src/main/npm/ts/tobago-focus.ts b/tobago-theme/tobago-theme-standard/src/main/npm/ts/tobago-focus.ts
index 0fb3f87..15e5350 100644
--- a/tobago-theme/tobago-theme-standard/src/main/npm/ts/tobago-focus.ts
+++ b/tobago-theme/tobago-theme-standard/src/main/npm/ts/tobago-focus.ts
@@ -57,6 +57,12 @@
       });
     }
 
+    // autofocus in popups doesn't work automatically... so we fix that here
+    const modals = document.getElementsByClassName("modal");
+    for (let i = 0; i < modals.length; i++) {
+      modals.item(i).addEventListener('shown.bs.modal', Focus.initAutoFocus);
+    }
+
     for (const hasDanger of DomUtils.selfOrElementsByClassName(element, ".has-danger")) {
       const activeInputsInsideDanger = Focus.activeInputs(hasDanger);
       if (activeInputsInsideDanger.length > 0) {
@@ -68,12 +74,6 @@
     const autoFocus = element.querySelector("[autofocus]");
     if (autoFocus) {
       // nothing to do, because the browser make the work.
-
-      // autofocus in popups doesn't work automatically... so we fix that here
-      jQuery('.modal').on('shown.bs.modal', function () {
-        jQuery(this).find('[autofocus]').get(0).focus();
-      });
-
       return;
     }
 
@@ -103,6 +103,11 @@
             element.style.visibility !== "hidden"
             && element.style.display != "none");
   }
+
+  private static initAutoFocus(event) {
+    const modal = <HTMLElement>event.currentTarget;
+    (<HTMLElement>modal.querySelector("[autofocus]")).focus();
+  }
 }
 
 Listener.register(Focus.init, Phase.DOCUMENT_READY);
