diff --git a/tests/facetapi.test b/tests/facetapi.test
index c68cc22..4a8b639 100644
--- a/tests/facetapi.test
+++ b/tests/facetapi.test
@@ -11,6 +11,53 @@
 class FacetapiTestCase extends DrupalWebTestCase {
 
   /**
+   *Stub to prevent Fatal php error when calling FacetapiTestCase::getInfo()
+   *poaching the codeblock from hook_hook_info()
+   */
+  public static function getInfo() {
+    // This function is indirectly invoked from bootstrap_invoke_all(), in which
+    // case common.inc, subsystems, and modules are not loaded yet, so it does not
+    // make sense to support hook groups resp. lazy-loaded include files prior to
+    // full bootstrap.
+    if (drupal_bootstrap(NULL, FALSE) != DRUPAL_BOOTSTRAP_FULL) {
+      return array();
+    }
+    $hook_info = &drupal_static(__FUNCTION__);
+  
+    if (!isset($hook_info)) {
+      $hook_info = array();
+      $cache = cache_get('hook_info', 'cache_bootstrap');
+      if ($cache === FALSE) {
+        // Rebuild the cache and save it.
+        // We can't use module_invoke_all() here or it would cause an infinite
+        // loop.
+        foreach (module_list() as $module) {
+          $function = $module . '_hook_info';
+          if (function_exists($function)) {
+            $result = $function();
+            if (isset($result) && is_array($result)) {
+              $hook_info = array_merge_recursive($hook_info, $result);
+            }
+          }
+        }
+        // We can't use drupal_alter() for the same reason as above.
+        foreach (module_list() as $module) {
+          $function = $module . '_hook_info_alter';
+          if (function_exists($function)) {
+            $function($hook_info);
+          }
+        }
+        cache_set('hook_info', $hook_info, 'cache_bootstrap');
+      }
+      else {
+        $hook_info = $cache->data;
+      }
+    }
+  
+    return $hook_info;
+  }
+  
+  /**
    * Overrides DrupalWebTestCase::setUp().
    *
    * Enables the "block" and "facetapi_test" modules, creates an administrative
