diff --git gmap.module gmap.module
index 2f74458..7078bf7 100644
--- gmap.module
+++ gmap.module
@@ -1263,3 +1263,34 @@ function gmap_views_plugins() {
     ),
   );
 }
+
+/**
+ * Implementation of hook_views_pre_view().
+ */
+function gmap_views_pre_view(&$view, $display_id, &$view_args) {
+  // only for gmap style plugin with ajax and not already processed
+  if (($view->display_handler->options['style_plugin'] != 'gmap' && !$view->use_ajax) || !empty($view->gmap_processed)) {
+    return;
+  }
+  // Mark the view as already processed.
+  $view->gmap_processed = TRUE;
+  // add js with new views callback
+  drupal_add_js(drupal_get_path('module', 'gmap').'/js/gmap_views_ajax.js', 'module');
+}
+
+/**
+ * Implementation of hook_ajax_data_alter().
+ */
+function gmap_ajax_data_alter(&$object, $views, &$view) {
+  // add js callback only with gmap style plugins and with ajax
+  if ($view->plugin_name != 'gmap' || !$view->use_ajax) {
+    return;
+  }
+
+  // Save settings
+  $js = drupal_add_js(NULL,NULL, 'header');
+  $object->settings=$js['setting'];
+
+  // Register custom callback
+  $object->__callbacks = array_merge($object->__callbacks, array('Drupal.gmap.Ajax.ajaxFixMaps'));
+}
\ No newline at end of file
diff --git js/gmap_views_ajax.js js/gmap_views_ajax.js
new file mode 100644
index 0000000..b210eac
--- /dev/null
+++ js/gmap_views_ajax.js
@@ -0,0 +1,40 @@
+// $Id$
+/**
+ * @file
+ *
+ * Fix ajax views issues.
+ */
+
+$(document).ready(function() {
+
+  Drupal.gmap.Ajax = Drupal.gmap.Ajax || {};
+
+  /**
+      * An ajax responder that accepts a packet of JSON data and acts appropriately.
+      *
+      * The following fields control behavior.
+      * - 'display': Display the associated data in the view area.
+      */
+  Drupal.gmap.Ajax.ajaxFixMaps = function(target, response) {
+    var $view = $(target);
+
+    if (response.settings) {
+      var i = 0;
+      var gmap = {};
+
+      for (i = 0; i < response.settings.length; i++)
+        if ( typeof(response.settings[i]['gmap']) == 'object')
+          gmap = response.settings[i]['gmap'];
+
+      $view.find('.gmap-map').each(function() {
+        var id='#' + $(this).attr("id");
+        var t=id.split('-');
+        var mapid = t[1];
+        Drupal.gmap.unloadMap(mapid);
+        if (gmap && gmap[mapid])
+          Drupal.settings.gmap[mapid]=gmap[mapid];
+        $(id).empty().each(Drupal.gmap.setup);
+      });
+    }
+  };
+});
\ No newline at end of file
