diff --git a/eva-display-entity-view.tpl.php b/eva-display-entity-view.tpl.php
index 0a4bd1e..a0317bf 100755
--- a/eva-display-entity-view.tpl.php
+++ b/eva-display-entity-view.tpl.php
@@ -39,12 +39,6 @@
     </div>
   <?php endif; ?>
 
-  <?php if ($exposed): ?>
-    <div class="view-filters">
-      <?php print $exposed; ?>
-    </div>
-  <?php endif; ?>
-
   <?php if ($attachment_before): ?>
     <div class="attachment attachment-before">
       <?php print $attachment_before; ?>
diff --git a/eva.module b/eva.module
index 4509e18..25cf5b4 100755
--- a/eva.module
+++ b/eva.module
@@ -28,6 +28,14 @@ function eva_field_extra_fields() {
           'description' => $view['title'], 
           'weight' => 10,
         );
+        // Provide a separate extra field for the exposed form if there is any.
+        if ($view['exposed form']) {
+          $extras[$entity][$bundle]['display'][$view['name'] . '_' . $view['display'] . '_' . 'form'] = array(
+            'label' => ((empty($view['title'])) ? $view['name'] : $view['title']) . ' (' . t('Exposed form') . ')', 
+            'description' => t('The exposed filter form of the view.'),
+            'weight' => 9,
+          );
+        }
       }
     }
   }
@@ -62,6 +70,15 @@ function eva_entity_view_alter(&$build, $type) {
         $view->set_display($info['display']);
         if ($view->access($info['display'])) {
           $view->current_entity = $entity;
+
+          if (isset($fields[$longname . '_form']) && $fields[$longname . '_form']['visible']) {
+            $view->init_handlers();
+            $exposed_form = $view->display_handler->get_plugin('exposed_form');
+
+            $build[$longname . '_form'] = array(
+              '#markup' => $exposed_form->render_exposed_form(TRUE),
+            );
+          }
           $result = $view->execute_display($info['display']);
           if (!empty($result)) {
             $build[$longname] = array(
@@ -114,11 +131,14 @@ function eva_get_views($type = NULL, $reset = FALSE) {
       foreach ($views as $data) {
         list($view, $display_id) = $data;
         $view_entity = $view->display_handler->get_option('entity_type');
+        // Initialize handlers, to determine if the view uses exposed filters.
+        $view->init_handlers();
         $used_views[$view_entity][] = array(
           'name' => $view->name,
-          'title' => $view->get_human_name() . ' > ' . $view->display[$display_id]->display_title,
+          'title' => 'EVA: ' . $view->get_human_name() . ' - ' . $view->display[$display_id]->display_title,
           'display' => $display_id,
           'bundles' => $view->display_handler->get_option('bundles'),
+          'exposed form' => $view->display_handler->uses_exposed(),
         );
         $view->destroy();
       }
@@ -213,3 +233,12 @@ function eva_modules_disabled($modules) {
   drupal_static_reset('eva_get_views');
   cache_clear_all('*', 'cache_views', TRUE);
 }
+
+/**
+ * Implements hook_form_FORM_ID_alter().
+ */
+function eva_form_views_ui_edit_form_alter(&$form, &$form_state, $form_id) {
+  // Clear the field cache when views are saved. This will make sure newly
+  // created EVA views and/or exposed filters will appear.
+  $form['actions']['save']["#submit"][] = 'field_cache_clear';
+}
\ No newline at end of file
diff --git a/eva_plugin_display_entity.inc b/eva_plugin_display_entity.inc
index cb53ef3..ae7366e 100755
--- a/eva_plugin_display_entity.inc
+++ b/eva_plugin_display_entity.inc
@@ -229,16 +229,6 @@ class eva_plugin_display_entity extends views_plugin_display {
   }
 
   /**
-   * Node content views use exposed widgets only if AJAX is set.
-   */
-  function uses_exposed() {
-    if ($this->use_ajax()) {
-      return parent::uses_exposed();
-    }
-    return FALSE;
-  }
-
-  /**
    * We have to run token replacement before the arguments are used.
    */
   function pre_execute() {
@@ -271,6 +261,20 @@ class eva_plugin_display_entity extends views_plugin_display {
   }
 
   /**
+   * Specify the path of the entity.
+   */
+  function get_path() {
+    if (isset($this->view->current_entity)) {
+      $uri = entity_uri($this->view->display_handler->get_option('entity_type'), $this->view->current_entity);
+      if ($uri) {
+        $uri['options']['absolute'] = TRUE;
+        return url($uri['path'], $uri['options']);
+      }
+    }
+    return parent::get_path();
+  }
+
+  /**
    * The display block handler returns the structure necessary for a block.
    */
   function execute() {
