diff --git a/contrib/current_search/current_search.block.inc b/contrib/current_search/current_search.block.inc
index 280e9f3..31a4c03 100644
--- a/contrib/current_search/current_search.block.inc
+++ b/contrib/current_search/current_search.block.inc
@@ -65,7 +65,7 @@ function current_search_block_info() {
     if (empty($config->disabled)) {
       $blocks[$config->name] = array(
         'info' => 'Current search: ' . $config->label,
-        'cache' => DRUPAL_NO_CACHE,
+        //'cache' => DRUPAL_NO_CACHE,
       );
     }
   }
@@ -144,18 +144,12 @@ function current_search_block_view($delta = '') {
  */
 function current_search_set_block_searcher($name, $searcher) {
   // Deletes current search data.
-  db_delete('block_current_search')
-    ->condition('delta', $name)
-    ->execute();
+  $query = "DELETE FROM {block_current_search} WHERE delta = '%s'";
+  db_query($query, array($name));
 
   // Inserts new data into database.
-  db_insert('block_current_search')
-    ->fields(array('delta', 'searcher'))
-    ->values(array(
-      'delta' => $name,
-      'searcher' => $searcher,
-    ))
-    ->execute();
+  $query = "INSERT INTO {block_current_search} (delta, searcher) VALUES ('%s', '%s')";
+  db_query($query, array($name, $searcher));
 }
 
 /**
diff --git a/contrib/current_search/current_search.current_search.inc b/contrib/current_search/current_search.current_search.inc
index 0fc1567..089c9dc 100644
--- a/contrib/current_search/current_search.current_search.inc
+++ b/contrib/current_search/current_search.current_search.inc
@@ -13,16 +13,14 @@
  */
 function current_search_export_crud_delete($object) {
   // Deletes the current search block configuration.
-  db_delete('current_search')
-    ->condition('name', $object->name)
-    ->execute();
+  $query = "DELETE FROM {current_search} WHERE name = '%s'";
+  db_query($query, array($object->name));
 
   // Only deletes the association with the searcher if we are not reverting a
   // configuration setting.
   if (!($object->export_type & EXPORT_IN_CODE && $object->export_type & EXPORT_IN_DATABASE)) {
-    db_delete('block_current_search')
-      ->condition('delta', $object->name)
-      ->execute();
+    $query = "DELETE FROM {block_current_search} WHERE delta = '%s'";
+    db_query($query, array($object->name));
   }
 }
 
diff --git a/contrib/current_search/current_search.module b/contrib/current_search/current_search.module
index 0cbe8e1..9fe0ed4 100644
--- a/contrib/current_search/current_search.module
+++ b/contrib/current_search/current_search.module
@@ -34,14 +34,16 @@ function current_search_menu_alter(&$items) {
   // Ensures that the edit link shows up in contextual links.
   $item = &$items['admin/settings/current_search/list/%ctools_export_ui/edit'];
   $item['title'] = 'Configure current search items';
-  $item['type'] = MENU_LOCAL_ACTION;
-  $item['context'] = MENU_CONTEXT_INLINE;
+  $item['type'] = MENU_CALLBACK;
+  //$item['context'] = MENU_CONTEXT_INLINE;
 }
 
 /**
  * Implements hook_theme().
  */
 function current_search_theme() {
+  module_load_include('php', 'ctools', 'plugins/export_ui/ctools_export_ui.class');
+  autoload_class('ctools_export_ui');
   return array(
     'current_search_group_title' => array(
       'arguments' => array('title' => NULL),
diff --git a/facetapi.admin.inc b/facetapi.admin.inc
index 88f428d..ff68de1 100644
--- a/facetapi.admin.inc
+++ b/facetapi.admin.inc
@@ -140,7 +140,7 @@ function facetapi_realm_settings_form(&$form_state, $searcher, $realm_name) {
       array('@performance-page' => url('admin/settings/performance', array('query' => array('destination' => $_GET['q']))))
     );
   }
-  $form['block_cache'] = array(
+  /*$form['block_cache'] = array(
     '#type' => 'select',
     '#access' => ('block' == $realm_name),
     '#title' => t('Block cache settings'),
@@ -150,9 +150,9 @@ function facetapi_realm_settings_form(&$form_state, $searcher, $realm_name) {
       DRUPAL_CACHE_PER_ROLE | DRUPAL_CACHE_PER_PAGE => t('Per role'),
       DRUPAL_CACHE_PER_USER | DRUPAL_CACHE_PER_PAGE => t('Per user'),
     ),
-    '#default_value' => variable_get('facetapi:block_cache:' . $searcher, DRUPAL_NO_CACHE),
+    '#default_value' => variable_get('facetapi:block_cache:' . $searcher, 0),
     '#description' => $description,
-  );
+  );*/
 
   $form['actions']['submit'] = array(
     '#type' => 'submit',
diff --git a/facetapi.block.inc b/facetapi.block.inc
index abdc104..cef3723 100644
--- a/facetapi.block.inc
+++ b/facetapi.block.inc
@@ -26,7 +26,7 @@ function facetapi_block_info() {
   foreach (facetapi_get_searcher_info() as $searcher => $info) {
 
     // Gets cache settings for the searcher.
-    $cache = variable_get('facetapi:block_cache:' . $searcher, DRUPAL_NO_CACHE);
+    //$cache = variable_get('facetapi:block_cache:' . $searcher, DRUPAL_NO_CACHE);
 
     // Adds blocks for facets that are enabled or whose delta mapping is forced.
     foreach (facetapi_get_delta_map_queue($searcher, 'block') as $facet_name) {
@@ -38,7 +38,7 @@ function facetapi_block_info() {
         // Defines the block.
         $blocks[$delta] = array(
           'info' => 'Facet API: ' . $info['label'] . ' : ' . $facet['label'],
-          'cache' => $cache,
+          //'cache' => $cache,
         );
       }
     }
diff --git a/facetapi.callbacks.inc b/facetapi.callbacks.inc
index 52e2861..b927ef1 100644
--- a/facetapi.callbacks.inc
+++ b/facetapi.callbacks.inc
@@ -38,11 +38,9 @@ function facetapi_map_bundle(array $values, array $options) {
 function facetapi_map_author(array $values) {
   $map = array();
   if (!empty($values)) {
-    $result = db_select('users', 'u')
-      ->fields('u', array('uid', 'name'))
-      ->condition('uid', $values, 'IN')
-      ->execute();
-    while ($record = $result->fetchAssoc()) {
+    $query = "SELECT u.uid AS uid, u.name AS name FROM {users} u WHERE u.uid IN " . db_placeholders($values);
+    $result = db_query($query, $values);
+    while ($record = db_fetch_array($result)) {
       $map[$record['uid']] = $record['name'];
     }
   }
@@ -109,9 +107,9 @@ function facetapi_map_date(array $values, array $options) {
  * @todo Cache this value.
  */
 function facetapi_get_min_date(array $facet) {
-  $query = db_select('node', 'n')->condition('status', 1);
-  $query->addExpression('MIN(' . $facet['name'] . ')', 'max');
-  return $query->execute()->fetch()->max;
+  $query = "SELECT MIN(%s) as min FROM node n WHERE n.status = 1";
+  $result = db_result(db_query($query, array($facet['name'])));
+  return $result;
 }
 
 /**
@@ -126,9 +124,9 @@ function facetapi_get_min_date(array $facet) {
  * @todo Cache this value.
  */
 function facetapi_get_max_date(array $facet) {
-  $query = db_select('node', 'n')->condition('status', 1);
-  $query->addExpression('MAX(' . $facet['name'] . ')', 'max');
-  return $query->execute()->fetch()->max;
+  $query = "SELECT MAX(%s) as max FROM node n WHERE n.status = 1";
+  $result = db_result(db_query($query, array($facet['name'])));
+  return $result;
 }
 
 /**
@@ -153,17 +151,14 @@ function facetapi_map_taxonomy_terms(array $values) {
  *   An associative array keyed by term ID to parent ID.
  */
 function facetapi_get_taxonomy_hierarchy(array $values) {
-  $result = db_select('taxonomy_term_hierarchy', 'th')
-    ->fields('th', array('tid', 'parent'))
-    ->condition('th.parent', '0', '>')
-    ->condition(db_or()
-      ->condition('th.tid', $values, 'IN')
-      ->condition('th.parent', $values, 'IN')
-    )
-    ->execute();
+  $query = "SELECT th.tid AS tid, th.parent AS parent
+    FROM {taxonomy_term_hierarchy} th
+    WHERE (th.parent > 0)
+    OR (th.tid IN " . db_placeholders($values) . "AND th.parent IN " . db_placeholders($values) . ")";
+  $result = db_query($query, array_merge($values, $values));
 
   $parents = array();
-  foreach ($result as $record) {
+  while($record = db_fetch_object($result)) {
     $parents[$record->tid][] = $record->parent;
   }
   return $parents;
diff --git a/facetapi.install b/facetapi.install
index f3fb7b1..b4863f2 100644
--- a/facetapi.install
+++ b/facetapi.install
@@ -83,9 +83,9 @@ function facetapi_install() {
  */
 function facetapi_uninstall() {
   // Remove all variables that start with "facetapi:".
-  $args = array(':module' => 'facetapi%');
-  $result = dbtng_query('SELECT name FROM {variable} WHERE name LIKE :module', $args);
-  foreach ($result as $record) {
+  $args = array('facetapi%');
+  $result = db_query("SELECT name FROM {variable} WHERE name LIKE '%s'", $args);
+  while($result = db_fetch_object($result)) {
     variable_del($record->name);
   }
   // Remove tables.
diff --git a/facetapi.module b/facetapi.module
index f3fc75c..292781f 100644
--- a/facetapi.module
+++ b/facetapi.module
@@ -164,8 +164,8 @@ function facetapi_menu() {
     'page callback' => 'drupal_get_form',
     'page arguments' => array('facetapi_facet_display_form', 3, 4, 5),
     'access callback' => 'facetapi_access_callback',
-    'type' => MENU_LOCAL_ACTION,
-    'context' => MENU_CONTEXT_INLINE,
+    'type' => MENU_CALLBACK,
+    //'context' => MENU_CONTEXT_INLINE,
     'weight' => -15,
     'file' => 'facetapi.admin.inc',
   );
@@ -176,8 +176,8 @@ function facetapi_menu() {
     'page callback' => 'drupal_get_form',
     'page arguments' => array('facetapi_facet_dependencies_form', 3, 4, 5),
     'access callback' => 'facetapi_access_callback',
-    'type' => MENU_LOCAL_ACTION,
-    'context' => MENU_CONTEXT_INLINE,
+    'type' => MENU_CALLBACK,
+    //'context' => MENU_CONTEXT_INLINE,
     'weight' => -10,
     'file' => 'facetapi.admin.inc',
   );
@@ -188,8 +188,8 @@ function facetapi_menu() {
     'page callback' => 'drupal_get_form',
     'page arguments' => array('facetapi_facet_filters_form', 3, 4, 5),
     'access callback' => 'facetapi_access_callback',
-    'type' => MENU_LOCAL_ACTION,
-    'context' => MENU_CONTEXT_INLINE,
+    'type' => MENU_CALLBACK,
+    //'context' => MENU_CONTEXT_INLINE,
     'weight' => -5,
     'file' => 'facetapi.admin.inc',
   );
diff --git a/plugins/facetapi/url_processor_standard.inc b/plugins/facetapi/url_processor_standard.inc
index 1c8c2ec..99a989a 100644
--- a/plugins/facetapi/url_processor_standard.inc
+++ b/plugins/facetapi/url_processor_standard.inc
@@ -19,13 +19,44 @@ class FacetapiUrlProcessorStandard extends FacetapiUrlProcessor {
     return $_GET;
   }
 
+  public function fetchQueryParams(array $query = NULL, array $exclude = array('q'), $parent = '') {
+    // Set defaults, if none given.
+    if (!isset($query)) {
+      $query = $_GET;
+    }
+    // If $exclude is empty, there is nothing to filter.
+    if (empty($exclude)) {
+      return $query;
+    }
+    elseif (!$parent) {
+      $exclude = array_flip($exclude);
+    }
+
+    $params = array();
+    foreach ($query as $key => $value) {
+      $string_key = ($parent ? $parent . '[' . $key . ']' : $key);
+      if (isset($exclude[$string_key])) {
+        continue;
+      }
+
+      if (is_array($value)) {
+        $params[$key] = drupal_get_query_parameters($value, $exclude, $string_key);
+      }
+      else {
+        $params[$key] = $value;
+      }
+    }
+
+    return $params;
+  }
+
   /**
    * Implements FacetapiUrlProcessor::normalizeParams().
    *
    * Strips the "q" and "page" variables from the params array.
    */
   public function normalizeParams(array $params, $filter_key = 'f') {
-    return drupal_get_query_parameters($params, array('q', 'page'));
+    return $this->fetchQueryParams($params, array('q', 'page'));
   }
 
   /**
