diff --git a/facetapi.module b/facetapi.module
index 661ab8f..85517c1 100644
--- a/facetapi.module
+++ b/facetapi.module
@@ -65,11 +65,6 @@ define('FACETAPI_REGEX_DATE', '/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})
  */
 define('FACETAPI_REGEX_DATE_RANGE', '/^\[(' . trim(FACETAPI_REGEX_DATE, '/^$') . ') TO (' . trim(FACETAPI_REGEX_DATE, '/^$') . ')\]$/');
 
-// Loads file containing various callback functions.
-// @todo Can we lazy-load this file somehow?
-// @todo It all comes back to the listener/indexer conversation.
-require_once dirname(__FILE__) . '/facetapi.callbacks.inc';
-
 /**
  * Implements hook_menu().
  */
diff --git a/plugins/facetapi/adapter.inc b/plugins/facetapi/adapter.inc
index 1d36e27..e96dad6 100644
--- a/plugins/facetapi/adapter.inc
+++ b/plugins/facetapi/adapter.inc
@@ -764,6 +764,9 @@ abstract class FacetapiAdapter {
     if (!$this->processed) {
       $this->processed = TRUE;
 
+      // Loads file containing the common callback functions.
+      require_once drupal_get_path('module', 'facetapi') . '/facetapi.callbacks.inc';
+
       // Initializes each facet's render array.
       foreach ($this->getEnabledFacets() as $facet) {
         $processor = new FacetapiFacetProcessor($this->getFacet($facet));
