diff --git README.txt README.txt
index 681b03a..0e39e51 100644
--- README.txt
+++ README.txt
@@ -185,6 +185,13 @@ hook_apachesolr_modify_query(&$query, &$params, $caller);
           $query->add_filter("uid", 1);         
         }        
 
+CALLER_finalize_query(&$query, &$params);
+
+  The module calling apachesolr_do_query() may implement a function that is run after
+  hook_apachesolr_modify_query() and allows the caller to make final changes to the
+  query and params before the query is sent to Solr.  The function name is built
+  from the $caller parameter to apachesolr_do_query().
+
 hook_apachesolr_prepare_query(&$query, &$params, $caller);
 
   This is pretty much the same as hook_apachesolr_modify_query() but runs earlier
diff --git apachesolr.module apachesolr.module
index 6003f94..8f24044 100644
--- apachesolr.module
+++ apachesolr.module
@@ -1320,6 +1320,12 @@ function apachesolr_do_query($caller, $current_query, $params = array('rows' =>
   if (!$query) {
     return array(NULL, array());
   }
+  // Final chance for the caller to modify the query and params. The signature
+  // is: CALLER_finalize_query(&$query, &$params);
+  $function = $caller . '_finalize_query';
+  if (function_exists($function)) {
+    $function($query, $params);
+  }
 
   $keys = $query->get_query_basic();
   if ($keys == '' && isset($params['fq'])) {
