diff --git a/plugins/facetapi/adapter.inc b/plugins/facetapi/adapter.inc
index 8bdb0cb..ecd32e5 100644
--- a/plugins/facetapi/adapter.inc
+++ b/plugins/facetapi/adapter.inc
@@ -1095,6 +1095,16 @@ class FacetapiFacetProcessor {
   }
 
   /**
+   * Helper function to get the facet's active items.
+   *
+   * @return array
+   *   The facet's active items.
+   */
+  public function getActiveItems() {
+    return $this->facet->getAdapter()->getActiveItems($this->facet->getFacet());
+  }
+
+  /**
    * Gets an active item's children.
    *
    * @param string $value
@@ -1179,9 +1189,12 @@ class FacetapiFacetProcessor {
    */
   protected function mapValues(array $build) {
     if ($this->facet['map callback']) {
-      $this->map = call_user_func($this->facet['map callback'], array_keys($build), $this->facet['map options']);
+      // Gets available items and active items, runs through map callback.
+      // NOTE: array_merge() doesn't work here when the values are numeric.
+      $values = array_unique(array_keys($build) + array_keys($this->getActiveItems()));
+      $this->map = call_user_func($this->facet['map callback'], $values, $this->facet['map options']);
+      // Normalize all mapped values to a two element array.
       foreach ($this->map as $key => $value) {
-        // Normalize all mapped values to a two element array.
         if (!is_array($value)) {
           $this->map[$key] = array();
           $this->map[$key]['#markup'] = $value;
