diff --git Solr_Base_Query.php Solr_Base_Query.php
index d0982a4..fee0784 100644
--- Solr_Base_Query.php
+++ Solr_Base_Query.php
@@ -178,8 +178,12 @@ class Solr_Base_Query implements Drupal_Solr_Query_Interface {
 
   public function add_filter($field, $value, $exclude = FALSE, $callbacks = array()) {
     $filter = array('#exclude' => $exclude, '#name' => $field, '#value' => trim($value), '#callbacks' => $callbacks);
-    $this->fields[] = $filter;
+    // Record the addition.
     $this->fields_added[] = $filter;
+    // Add to the public list of filters.
+    $this->fields[] = $filter;
+    // Remove from the record of removed filters.
+    $this->unset_filter($this->fields_removed, $name, $value);
   }
 
   public function remove_filter($name, $value = NULL) {
@@ -191,7 +195,7 @@ class Solr_Base_Query implements Drupal_Solr_Query_Interface {
     $this->fields_removed[$name][] = $value;
     // Remove from the public list of filters.
     $this->unset_filter($this->fields, $name, $value);
-    // Remove from the list of filters added with add_filter()
+    // Remove from the record of added filters.
     $this->unset_filter($this->fields_added, $name, $value);
   }
 
