The infoWindow only shows when you click on a graphic. But clicking on a graphic would then also constitute a click on the map, which fires the infoWindow.hide() function too, hence the hiding. I tried setting a handler to only connect the infoWindo.hide() on a mouse click _once_ the infoWindow is shown. And then as soon as the infoWindow is hidden, diconnect the event handler. But that didn't work either.