diff --git a/module/VuFind/src/VuFind/Controller/AbstractSearch.php b/module/VuFind/src/VuFind/Controller/AbstractSearch.php
index a7a6e5bea6656579d621a09f5843999eb9fdbd67..b0a7da3c53191bbca5b4f23a5009cd7160d775b9 100644
--- a/module/VuFind/src/VuFind/Controller/AbstractSearch.php
+++ b/module/VuFind/src/VuFind/Controller/AbstractSearch.php
@@ -741,6 +741,7 @@ class AbstractSearch extends AbstractBase
                 'data' => $list,
                 'exclude' => $this->params()->fromQuery('facetexclude', 0),
                 'facet' => $facet,
+                'operator' => $this->params()->fromQuery('facetop', 'AND'),
                 'page' => $page,
                 'results' => $results,
                 'anotherPage' => $facets[$facet]['more'],
diff --git a/themes/bootstrap3/js/facets.js b/themes/bootstrap3/js/facets.js
index 4c0fb043e797c940faa85b0eb8bb8ef9d1946c86..7f1bb27c33d3731e3816ad5d566a19b5d560629e 100644
--- a/themes/bootstrap3/js/facets.js
+++ b/themes/bootstrap3/js/facets.js
@@ -101,15 +101,14 @@ function initFacetTree(treeNode, inSidebar)
 
 /* --- Lightbox Facets --- */
 VuFind.register('lightbox_facets', function LightboxFacets() {
-  var ajaxUrl;
-
   function lightboxFacetSorting() {
     var sortButtons = $('.js-facet-sort');
-    function sortAjax(sort) {
+    function sortAjax(button) {
+      var sort = button.dataset.sort;
       var list = $('#facet-list-' + sort);
       if (list.find('.js-facet-item').length === 0) {
         list.find('.js-facet-next-page').text(VuFind.translate('loading') + '...');
-        $.ajax(ajaxUrl + '&layout=lightbox&facetsort=' + sort)
+        $.ajax(button.href + '&layout=lightbox')
           .done(function facetSortTitleDone(data) {
             list.prepend($('<span>' + data + '</span>').find('.js-facet-item'));
             list.find('.js-facet-next-page').text(VuFind.translate('more') + ' ...');
@@ -120,14 +119,13 @@ VuFind.register('lightbox_facets', function LightboxFacets() {
       sortButtons.removeClass('active');
     }
     sortButtons.click(function facetSortButton() {
-      sortAjax(this.dataset.sort);
+      sortAjax(this);
       $(this).addClass('active');
       return false;
     });
   }
 
-  function setup(url) {
-    ajaxUrl = url;
+  function setup() {
     lightboxFacetSorting();
     $('.js-facet-next-page').click(function facetLightboxMore() {
       var button = $(this);
@@ -137,11 +135,12 @@ VuFind.register('lightbox_facets', function LightboxFacets() {
       }
       button.attr('disabled', 1);
       button.text(VuFind.translate('loading') + '...');
-      $.ajax(ajaxUrl + '&layout=lightbox&facetpage=' + page + '&facetsort=' + this.dataset.sort)
+      $.ajax(this.href + '&layout=lightbox')
         .done(function facetLightboxMoreDone(data) {
           var htmlDiv = $('<div>' + data + '</div>');
           var list = htmlDiv.find('.js-facet-item');
           button.before(list);
+          console.log(list);
           if (list.length && htmlDiv.find('.js-facet-next-page').length) {
             button.attr('data-page', page + 1);
             button.text(VuFind.translate('more') + ' ...');
@@ -152,7 +151,7 @@ VuFind.register('lightbox_facets', function LightboxFacets() {
         });
       return false;
     });
-    var margin = 180;
+    var margin = 230;
     $('#modal').on('show.bs.modal', function facetListHeight() {
       $('#modal .lightbox-scroll').css('max-height', window.innerHeight - margin);
     });
diff --git a/themes/bootstrap3/templates/search/facet-list.phtml b/themes/bootstrap3/templates/search/facet-list.phtml
index 3ded3628ce8fc7e832590d826b4d3529a48731c9..cb070b85ad5462145d2da75c246b3947bcf80b5e 100644
--- a/themes/bootstrap3/templates/search/facet-list.phtml
+++ b/themes/bootstrap3/templates/search/facet-list.phtml
@@ -5,12 +5,13 @@
     $this->sort = 'default';
     $this->sortOptions = [ 'default' => 'default' ];
   }
+  $urlBase = $this->url($facetLightbox) . $results->getUrlQuery()->getParams() . '&amp;facet=' . urlencode($this->facet) . '&amp;facetexclude=' . $this->exclude . '&amp;facetop=' . $this->operator;
 ?>
 <? if (count($this->sortOptions) > 1): ?>
   <label><?=$this->translate('Sort') ?></label>
   <div class="btn-group">
     <? foreach ($this->sortOptions as $key=>$sort): ?>
-      <a href="<?=$this->url($facetLightbox) . $results->getUrlQuery()->getParams() . '&amp;facet=' . urlencode($this->facet) . '&amp;facetpage=1&amp;facetsort=' . urlencode($key) ?>" class="btn btn-default js-facet-sort<? if($this->sort == $key): ?> active<? endif; ?>" data-sort="<?=$key ?>" data-lightbox-ignore><?=$this->translate($sort) ?></a>
+      <a href="<?=$urlBase . '&amp;facetpage=1&amp;facetsort=' . urlencode($key) ?>" class="btn btn-default js-facet-sort<? if($this->sort == $key): ?> active<? endif; ?>" data-sort="<?=$key ?>" data-lightbox-ignore><?=$this->translate($sort) ?></a>
     <? endforeach; ?>
   </div>
 <? endif; ?>
@@ -20,7 +21,7 @@
     <div class="full-facet-list list-group<? if(!$active): ?> hidden<? endif; ?>" id="facet-list-<?=$this->escapeHtmlAttr($key) ?>">
       <? if ($active): ?>
         <? if ($this->page > 1): ?>
-          <a href="<?=$this->url($facetLightbox) . $results->getUrlQuery()->getParams() . '&amp;facet=' . urlencode($this->facet) . '&amp;facetpage=' . ($this->page-1) . '&amp;facetsort=' . $this->sort ?>" class="list-group-item js-facet-prev-page" data-page="<?=($this->page+1) ?>" data-sort="<?=$this->sort ?>" data-limit="<?=count($this->data) ?>" data-lightbox-ignore><?=$this->translate('prev') ?> ...</a>
+          <a href="<?=$urlBase . '&amp;facetpage=' . ($this->page-1) . '&amp;facetsort=' . $this->sort ?>" class="list-group-item js-facet-prev-page" data-page="<?=($this->page+1) ?>" data-sort="<?=$this->sort ?>" data-limit="<?=count($this->data) ?>" data-lightbox-ignore><?=$this->translate('prev') ?> ...</a>
         <? endif; ?>
         <? foreach ($this->data as $item): ?>
           <? $toggleUrl = $item['isApplied']
@@ -29,8 +30,8 @@
           ?>
           <? $subLinks = $this->exclude && !$item['isApplied']; ?>
           <? if ($subLinks): ?>
-            <li class="list-group-item">
-              <a href="<?=$toggleUrl ?>" data-lightbox-ignore class="js-facet-item" data-title="<?=$this->escapeHtmlAttr($item['displayText']) ?>" data-count="<?=$item['count'] ?>"<? if($item['isApplied']): ?> title="<?=$this->transEsc('applied_filter') ?>"<? endif;?>>
+            <li class="list-group-item js-facet-item">
+              <a href="<?=$toggleUrl ?>" data-lightbox-ignore data-title="<?=$this->escapeHtmlAttr($item['displayText']) ?>" data-count="<?=$item['count'] ?>"<? if($item['isApplied']): ?> title="<?=$this->transEsc('applied_filter') ?>"<? endif;?>>
           <? else: ?>
             <a href="<?=$toggleUrl ?>" data-lightbox-ignore class="js-facet-item list-group-item<? if($item['isApplied']): ?> active<?endif;?>" data-title="<?=$this->escapeHtmlAttr($item['displayText']) ?>" data-count="<?=$item['count'] ?>"<? if($item['isApplied']): ?> title="<?=$this->transEsc('applied_filter') ?>"<? endif;?>>
           <? endif; ?>
@@ -54,7 +55,7 @@
               <span class="badge">
                 <?=$this->localizedNumber($item['count']) ?>
                 <? if ($this->exclude): ?>
-                  <a href="<?=$this->url($options->getSearchAction()) . $this->results->getUrlQuery()->addFacet($title, $thisFacet['value'], 'NOT') ?>" title="<?=$this->transEsc('exclude_facet') ?>"><i class="fa fa-times" aria-hidden="true"></i></a>
+                  <a href="<?=$this->url($options->getSearchAction()) . $this->results->getUrlQuery()->addFacet($this->facet, $item['value'], 'NOT') ?>" title="<?=$this->transEsc('exclude_facet') ?>" data-lightbox-ignore><i class="fa fa-times" aria-hidden="true"></i></a>
                 <? endif; ?>
               </span>
             <? endif; ?>
@@ -62,14 +63,10 @@
         <? endforeach; ?>
       <? endif; ?>
       <? if ($this->anotherPage): ?>
-        <a href="<?=$this->url($facetLightbox) . $results->getUrlQuery()->getParams() . '&amp;facet=' . urlencode($this->facet) . '&amp;facetpage=' . ($this->page+1) . '&amp;facetsort=' . urlencode($key) ?>" class="list-group-item js-facet-next-page" data-page="<?=($this->page+1) ?>" data-sort="<?=$this->escapeHtmlAttr($key) ?>" data-lightbox-ignore><?=$this->translate('more') ?> ...</a>
+        <a href="<?=$urlBase . '&amp;facetpage=' . ($this->page+1) . '&amp;facetsort=' . urlencode($key) ?>" class="list-group-item js-facet-next-page" data-page="<?=($this->page+1) ?>" data-sort="<?=$this->escapeHtmlAttr($key) ?>" data-lightbox-ignore><?=$this->translate('more') ?> ...</a>
       <? endif; ?>
     </div>
   <? endforeach; ?>
 </div>
 <button class="btn btn-default lightbox-only" data-dismiss="modal"><?=$this->translate('close') ?></button>
-<?
-  $url = str_replace('&amp;', '&', $this->url($facetLightbox) . $results->getUrlQuery()->getParams() . '&facet=' . urlencode($this->facet));
-  $script = "VuFind.lightbox_facets.setup('{$url}');";
-?>
-<?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, $script, 'SET'); ?>
\ No newline at end of file
+<?=$this->inlineScript(\Zend\View\Helper\HeadScript::SCRIPT, 'VuFind.lightbox_facets.setup();', 'SET'); ?>