diff --git a/.eslintrc.js b/.eslintrc.js
index 72d76420fe69de55356a7f7679f13eec28c18f64..2c0894535d06a1cfa34217713d8d159ae1c0a86d 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,10 +1,7 @@
 module.export = {
   extends: "eslint:recommended",
-  globals: {
-    "$": false,
-    "document": false,
-    "window": false
-  },
+  env: { "browser": true },
+  globals: { "$": false },
   rules: {
     // errors
     "block-scoped-var": "error",
diff --git a/themes/bootstrap3/js/autocomplete.js b/themes/bootstrap3/js/autocomplete.js
index 7055637f15e6222ea79b2931a2a5fa1b5a94b3da..731b6b63c3609da6dec562f46e1484c1a2e72c2b 100644
--- a/themes/bootstrap3/js/autocomplete.js
+++ b/themes/bootstrap3/js/autocomplete.js
@@ -1,4 +1,3 @@
-/*global jQuery, window, document, console, setTimeout, clearTimeout */
 /**
  * crhallberg/autocomplete.js 0.15.1
  * ~ @crhallberg
diff --git a/themes/bootstrap3/js/cart.js b/themes/bootstrap3/js/cart.js
index c70291916eb91e3e12a7c2f588d13417621f9188..dd768ea40c19976d04f83b3b900b9a72b0410d9b 100644
--- a/themes/bootstrap3/js/cart.js
+++ b/themes/bootstrap3/js/cart.js
@@ -1,4 +1,4 @@
-/*global Cookies, VuFind, setTimeout, clearTimeout */
+/*global Cookies, VuFind */
 /*exported cartFormHandler */
 
 VuFind.register('cart', function Cart() {
diff --git a/themes/bootstrap3/js/check_save_statuses.js b/themes/bootstrap3/js/check_save_statuses.js
index 3a3ca5512e1506ce2398d213871ad183afc98291..411b88d8cec72b6ff4d56e2dad5b2fbd1498839f 100644
--- a/themes/bootstrap3/js/check_save_statuses.js
+++ b/themes/bootstrap3/js/check_save_statuses.js
@@ -1,4 +1,4 @@
-/*global htmlEncode, VuFind, userIsLoggedIn */
+/*global htmlEncode, userIsLoggedIn, VuFind */
 
 function checkSaveStatuses(_container) {
   if (!userIsLoggedIn) {
diff --git a/themes/bootstrap3/js/common.js b/themes/bootstrap3/js/common.js
index 897e38d69936cfe9ac381a60cf23674cf5aaa2a3..54b42de9d8c2b299ee508f47a7ebccde30fcce7f 100644
--- a/themes/bootstrap3/js/common.js
+++ b/themes/bootstrap3/js/common.js
@@ -1,4 +1,4 @@
-/*global isPhoneNumberValid, unescape */
+/*global isPhoneNumberValid */
 /*exported VuFind, htmlEncode, deparam, moreFacets, lessFacets, phoneNumberFormHandler, bulkFormHandler */
 
 // IE 9< console polyfill
diff --git a/themes/bootstrap3/js/embedded_record.js b/themes/bootstrap3/js/embedded_record.js
index 7e95b5f46d4e05c4d1ee0f0c5ece720761051365..51e7f0cb04bd783f9447df6509172d9535175a96 100644
--- a/themes/bootstrap3/js/embedded_record.js
+++ b/themes/bootstrap3/js/embedded_record.js
@@ -1,4 +1,4 @@
-/*global checkSaveStatuses, sessionStorage, registerAjaxCommentRecord, registerTabEvents, syn_get_widget, VuFind */
+/*global checkSaveStatuses, registerAjaxCommentRecord, registerTabEvents, syn_get_widget, VuFind */
 VuFind.register('embedded', function embedded() {
   var _STORAGEKEY = 'vufind_search_open';
   var _SEPERATOR = ':::';
diff --git a/themes/bootstrap3/js/lightbox.js b/themes/bootstrap3/js/lightbox.js
index 6e1ccda0ab03d1af4633d2ad5a9e7761e5ca82db..5cfcf60d1829ff3a3b45ec62bb8eaa3e6f29f279 100644
--- a/themes/bootstrap3/js/lightbox.js
+++ b/themes/bootstrap3/js/lightbox.js
@@ -1,4 +1,4 @@
-/*global $, document, CustomEvent, VuFind, window */
+/*global VuFind */
 VuFind.register('lightbox', function Lightbox() {
   // State
   var _originalUrl = false;