diff --git a/js/marker.js b/js/marker.js
index 57fd6fb..a1a7865 100644
--- a/js/marker.js
+++ b/js/marker.js
@@ -9,7 +9,7 @@
 Drupal.gmap.addHandler('gmap', function (elem) {
   var obj = this;
 
-  var infowindow = null;
+  var infowindow = new google.maps.InfoWindow();
 
   obj.bind('init', function () {
     if (obj.vars.behavior.autozoom) {
@@ -66,7 +66,6 @@ Drupal.gmap.addHandler('gmap', function (elem) {
     if (infowindow != null){
       infowindow.close();
     }
-    infowindow = new google.maps.InfoWindow();
     if (marker.text) {
       infowindow.setContent(marker.text);
       infowindow.open(obj.map, marker.marker);
@@ -160,5 +159,9 @@ Drupal.gmap.addHandler('gmap', function (elem) {
     }
   });
 
+  Drupal.gmap.getInfoWindow = function() {
+    return infowindow;
+  };
+
   // @@@ TODO: Some sort of bounds handling for deletemarker? We'd have to walk the whole thing to figure out the new bounds..
 });
