Modification for misbehaviour of Task Pane when initializing Coordinate Tracker more then once. activate: function() { if (this.taskPane) { this.taskPane.loadDisplayPanel(); } }, activate: function() { if (this.taskPane) { if (this.taskPane.taskPaneWin == null) { this.taskPane.loadDisplayPanel(); } else { if (typeof this.taskPane.taskPaneWin.bReady === 'undefined') { this.taskPane.loadDisplayPanel(); } } } }, Modification to call the function setWidget from CoordinateTracker.php initPanel: function() { var bReady = false; try { bReady = this.taskPaneWin.bReady; } catch (e) { if (!bReady) { var initFunction = OpenLayers.Function.bind(this.initPanel, this); setTimeout(initFunction, 300); return; } } this.taskPaneWin.setWidget(this.widget); } initPanel: function() { var bReady = false; try { bReady = this.taskPaneWin.bReady; if (typeof bReady === 'undefined') { var initFunction = OpenLayers.Function.bind(this.initPanel, this); setTimeout(initFunction, 300); return; } } catch (e) { if (!bReady) { var initFunction = OpenLayers.Function.bind(this.initPanel, this); setTimeout(initFunction, 300); return; } } this.taskPaneWin.setWidget(this.widget); }