diff --git a/plugins/facetapi/adapter.inc b/plugins/facetapi/adapter.inc
index 0a18718..76a3b5d 100644
--- a/plugins/facetapi/adapter.inc
+++ b/plugins/facetapi/adapter.inc
@@ -781,6 +781,11 @@ abstract class FacetapiAdapter {
         $this->processors[$facet['name']]->process();
       }
 
+      // Post process each facet's render array.
+      foreach ($this->getEnabledFacets() as $facet) {
+        $this->processors[$facet['name']]->postProcess();
+      }
+
       // Sets the breadcrumb trail if a search was executed.
       if ($this->searchExecuted()) {
         $this->urlProcessor->setBreadcrumb();
@@ -1136,6 +1141,19 @@ class FacetapiFacetProcessor {
   }
 
   /**
+   * Post-processes the facet items.
+   */
+  public function postProcess() {
+    // Allow the url-processor to post-process the facet build object.
+    $urlProcessor = $this->facet->getAdapter()->getUrlProcessor();
+    $args = array(
+      'facet' => $this->facet->getFacet(),
+      'build' => &$this->build,
+    );
+    $urlProcessor->postProcess('facet', &$args);
+  }
+
+  /**
    * Helper function to get the facet's active items.
    *
    * @return array
diff --git a/plugins/facetapi/url_processor.inc b/plugins/facetapi/url_processor.inc
index f71590f..998b1f5 100644
--- a/plugins/facetapi/url_processor.inc
+++ b/plugins/facetapi/url_processor.inc
@@ -126,4 +126,13 @@ abstract class FacetapiUrlProcessor {
   public function getFilterKey() {
     return $this->filterKey;
   }
+
+  /**
+   * Allow the url-processor to post-process arrays.
+   * An url-processor may implement different types of array like 'facet'.
+   * In example, modify it's path or query parameters.
+   */
+  public function postProcess($type, array &$args) {
+
+  }
 }
