diff --git a/code/libraries/koowa/libraries/template/helper/listbox.php b/code/libraries/koowa/libraries/template/helper/listbox.php
index <HASH>..<HASH> 100644
--- a/code/libraries/koowa/libraries/template/helper/listbox.php
+++ b/code/libraries/koowa/libraries/template/helper/listbox.php
@@ -328,15 +328,20 @@ class KTemplateHelperListbox extends KTemplateHelperSelect
                 if (form.hasClass("-koowa-form") || form.hasClass("-koowa-grid")) {
                     form.submit(explode);
                 } else {
-                    var element = form.get(0);
-
-                    if (element.addEvent) {
-                        element.addEvent("submit", explode);
-                    } else if (element.addEventListener) {
-                        element.addEventListener("submit", explode, false);
-                    } else if (element.attachEvent) {
-                        element.attachEvent("onsubmit", explode);
-                    }
+                    // See: https://github.com/joomla/joomla-cms/pull/5914 for why we use onsubmit
+                    var element = form.get(0),
+                        previous = element.onsubmit;
+
+                    element.onsubmit = function() {
+                        if (typeof previous === "function") {
+                            previous();
+                        }
+
+                        explode();
+
+                        // Avoid explode to be executed more than once.
+                        element.onsubmit = previous;
+                    };
                 }
             });</script>';
         }
re #<I> Avoid explode from being executed more than once.

IE makes a second call to onsubmit when a fireEvent call is made.