diff --git a/includes/view.inc b/includes/view.inc
index 4848879..9535f26 100644
--- a/includes/view.inc
+++ b/includes/view.inc
@@ -1903,7 +1903,7 @@ class view extends views_db_object {
       unset($this->query);
     }
 
-    $keys = array('current_display', 'display_handler', 'build_info', 'built', 'executed', 'attachment_before', 'attachment_after', 'field', 'argument', 'filter', 'sort', 'relationship', 'header', 'footer', 'empty', 'query', 'result', 'inited', 'style_plugin', 'plugin_name', 'exposed_data', 'exposed_input', 'many_to_one_tables');
+    $keys = array('current_display', 'display_handler', 'build_info', 'built', 'executed', 'attachment_before', 'attachment_after', 'field', 'argument', 'filter', 'sort', 'relationship', 'header', 'footer', 'empty', 'query', 'result', 'inited', 'style_plugin', 'plugin_name', 'exposed_data', 'exposed_input', 'many_to_one_tables', 'dom_id');
     foreach ($keys as $key) {
       if (isset($this->$key)) {
         unset($this->$key);
diff --git a/js/ajax_view.js b/js/ajax_view.js
index a89d4aa..610cad3 100644
--- a/js/ajax_view.js
+++ b/js/ajax_view.js
@@ -58,7 +58,7 @@ Drupal.views.ajaxView = function(settings) {
   this.settings = settings;
 
   // Add the ajax to exposed forms.
-  this.$exposed_form = $('form#views-exposed-form-'+ settings.view_name.replace(/_/g, '-') + '-' + settings.view_display_id.replace(/_/g, '-'));
+  this.$exposed_form = $('form#views-exposed-form-'+ settings.view_name.replace(/_/g, '-') + '-' + settings.view_display_id.replace(/_/g, '-') + '-' + settings.views_dom_id);
   this.$exposed_form.once(jQuery.proxy(this.attachExposedFormAjax, this));
 
   // Add the ajax to pagers.
diff --git a/views.module b/views.module
index 1b637e4..f46d83b 100644
--- a/views.module
+++ b/views.module
@@ -1890,7 +1890,7 @@ function views_exposed_form($form, &$form_state) {
   // Let form plugins know this is for exposed widgets.
   $form_state['exposed'] = TRUE;
   // Check if the form was already created
-  if ($cache = views_exposed_form_cache($view->name, $view->current_display)) {
+  if ($cache = views_exposed_form_cache($view->name, $view->current_display . '-' . $view->dom_id)) {
     return $cache;
   }
 
@@ -1924,7 +1924,7 @@ function views_exposed_form($form, &$form_state) {
 
   $form['#action'] = url($view->get_url());
   $form['#theme'] = views_theme_functions('views_exposed_form', $view, $display);
-  $form['#id'] = drupal_clean_css_identifier('views_exposed_form-' . check_plain($view->name) . '-' . check_plain($display->id));
+  $form['#id'] = drupal_clean_css_identifier('views_exposed_form-' . check_plain($view->name) . '-' . check_plain($display->id) . '-' . check_plain($view->dom_id));
 //  $form['#attributes']['class'] = array('views-exposed-form');
 
   // If using AJAX, we need the form plugin.
@@ -1937,7 +1937,7 @@ function views_exposed_form($form, &$form_state) {
   $exposed_form_plugin->exposed_form_alter($form, $form_state);
 
   // Save the form
-  views_exposed_form_cache($view->name, $view->current_display, $form);
+  views_exposed_form_cache($view->name, $view->current_display . '-' . $view->dom_id, $form);
 
   return $form;
 }
