diff --git a/lti_consumer/static/js/xblock_lti_consumer.js b/lti_consumer/static/js/xblock_lti_consumer.js
index 60b2c63965e711d132e6939cc829f275f1a9e364..51121367fe9058b261dd489232d5dd65cc9cfa38 100644
--- a/lti_consumer/static/js/xblock_lti_consumer.js
+++ b/lti_consumer/static/js/xblock_lti_consumer.js
@@ -46,7 +46,10 @@ function LtiConsumerXBlock(runtime, element) {
                         $(o.closeButton).on('keydown', function (e) {
                            if (e.which === 9) {
                                e.preventDefault();
-                               $(modal_id).find('iframe')[0].contentWindow.focus();
+                               // This is a workaround due to Firefox triggering focus calls oddly.
+                               setTimeout(function () {
+                                   $modal.find('iframe')[0].contentWindow.focus();
+                               }, 1);
                            }
                         });