diff --git a/apachesolr_search.module b/apachesolr_search.module
index a8eeffb..74bd91b 100644
--- a/apachesolr_search.module
+++ b/apachesolr_search.module
@@ -13,6 +13,11 @@
  * displayed.
  */
 function apachesolr_search_init() {
+  // Useless without facetapi
+  if (!module_exists('facetapi')) {
+    return;
+  }
+
   $search_page_id = apachesolr_search_default_search_page();
   $search_page = apachesolr_search_page_load($search_page_id);
   // Do not continue if our search page is not valid
@@ -21,31 +26,36 @@ function apachesolr_search_init() {
   }
 
   $show_facets = apachesolr_environment_variable_get($search_page['env_id'], 'apachesolr_search_show_facets', 0);
-  if ($show_facets && module_exists('facetapi')) {
+  if ($show_facets) {
 
     // Converts current path to lowercase for case insensitive matching.
-    $path = drupal_strtolower(drupal_get_path_alias(current_path()));
+    $paths = array();
+    $paths[] = drupal_strtolower(drupal_get_path_alias(current_path()));
+    $paths[] = drupal_strtolower(current_path());
+
     $facet_pages = apachesolr_environment_variable_get($search_page['env_id'], 'apachesolr_search_facet_pages', '');
 
     // Iterates over each environment to check if an empty query should be run.
     if (!empty($facet_pages)) {
       // Compares path with settings, runs query if there is a match.
       $patterns = drupal_strtolower($facet_pages);
-      if (drupal_match_path($path, $patterns)) {
-        try {
-          if (!empty($search_page['search_path'])) {
-            $solr = apachesolr_get_solr($search_page['env_id']);
-            // Initializes params for empty query.
-            $params = array(
-              'spellcheck' => 'false',
-              'fq' => array(),
-              'rows' => 1,
-            );
-            apachesolr_search_run_empty('apachesolr', $params, $search_page['search_path'], $solr);
+      foreach ($paths as $path) {
+        if (drupal_match_path($path, $patterns)) {
+          try {
+            if (!empty($search_page['search_path'])) {
+              $solr = apachesolr_get_solr($search_page['env_id']);
+              // Initializes params for empty query.
+              $params = array(
+                'spellcheck' => 'false',
+                'fq' => array(),
+                'rows' => 1,
+              );
+              apachesolr_search_run_empty('apachesolr', $params, $search_page['search_path'], $solr);
+            }
+          }
+          catch (Exception $e) {
+            watchdog('Apache Solr', nl2br(check_plain($e->getMessage())), NULL, WATCHDOG_ERROR);
           }
-        }
-        catch (Exception $e) {
-          watchdog('Apache Solr', nl2br(check_plain($e->getMessage())), NULL, WATCHDOG_ERROR);
         }
       }
     }
@@ -516,7 +526,12 @@ function apachesolr_search_block_save($delta = '', $edit = array()) {
  *   Array of all search pages
  */
 function apachesolr_search_load_all_search_pages() {
-  $search_pages = array();
+  $search_pages = &drupal_static(__FUNCTION__, array());
+
+  if (!empty($search_pages)) {
+    return $search_pages;
+  }
+
   // If ctools module is enabled, add search pages from code, e.g. from a
   // feature module.
   if (module_exists('ctools')) {
diff --git a/tests/apachesolr_base.test b/tests/apachesolr_base.test
index 9d4b513..8196d84 100644
--- a/tests/apachesolr_base.test
+++ b/tests/apachesolr_base.test
@@ -269,14 +269,14 @@ class DrupalSolrOfflineSearchPagesWebTestCase extends DrupalWebTestCase {
     $this->drupalPost($this->getUrl(), $edit, t('Save'));
     $this->assertResponse(200);
     // Make sure the menu is recognized
-    drupal_static_reset('apachesolr_search_page_load');
+    drupal_static_reset('apachesolr_search_load_all_search_pages');
     menu_cache_clear_all();
     menu_rebuild();
     $this->drupalGet('admin/config/search/apachesolr/search-pages');
     $this->assertText(t('Test Search Page'), t('Search page was succesfully edited'));
     $this->assertText('search/searchdifferentpath', t('Search path was updated'));
     $this->drupalGet('search/searchdifferentpath');
-    $this->assertText(t('The Apache Solr search engine is not available. Please contact your site administrator.'), t('Search path was sucessfully created and is accessible'));
+    $this->assertText(t('The Apache Solr search engine is not available. Please contact your site administrator.'), t('Search path was successfully created and is accessible'));
   }
 
   /**
@@ -290,7 +290,7 @@ class DrupalSolrOfflineSearchPagesWebTestCase extends DrupalWebTestCase {
     $this->assertText(t('Are you sure you want to clone search page Core Search?'), t('Clone confirmation page was succesfully loaded'));
     $this->drupalPost($this->getUrl(), array(), t('Clone'));
     $this->assertResponse(200);
-    drupal_static_reset('apachesolr_search_page_load');
+    drupal_static_reset('apachesolr_search_load_all_search_pages');
     $this->drupalGet('admin/config/search/apachesolr/search-pages');
     $this->assertText(t('Core Search [cloned]'), t('Search Environment was succesfully cloned'));
   }
@@ -316,7 +316,7 @@ class DrupalSolrOfflineSearchPagesWebTestCase extends DrupalWebTestCase {
     $this->drupalPost($this->getUrl(), $edit, t('Save'));
     $this->assertResponse(200);
     // Make sure the menu is recognized
-    drupal_static_reset('apachesolr_search_page_load');
+    drupal_static_reset('apachesolr_search_load_all_search_pages');
     menu_cache_clear_all();
     menu_rebuild();
     $this->drupalGet('admin/config/search/apachesolr/search-pages');
@@ -327,7 +327,7 @@ class DrupalSolrOfflineSearchPagesWebTestCase extends DrupalWebTestCase {
     $this->assertText(t('search page configuration will be deleted.This action cannot be undone.'), t('Delete confirmation page was succesfully loaded'));
     $this->drupalPost($this->getUrl(), array(), t('Delete'));
     $this->assertResponse(200);
-    drupal_static_reset('apachesolr_search_page_load');
+    drupal_static_reset('apachesolr_search_load_all_search_pages');
     $this->drupalGet('admin/config/search/apachesolr/search-pages');
     $this->assertNoText(t('Test Search Page'), t('Search Environment was succesfully deleted'));
   }
