Index: /trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/Main.java	(revision 8019)
+++ /trunk/src/org/openstreetmap/josm/Main.java	(revision 8020)
@@ -1566,9 +1566,25 @@
      * Registers a new {@code MapFrameListener} that will be notified of MapFrame changes
      * @param listener The MapFrameListener
+     * @param fireWhenMapViewPresent If true, will fire an initial mapFrameInitialized event
+     * when the MapFrame is present. Otherwise will only fire when the MapFrame is created
+     * or destroyed.
+     * @return {@code true} if the listeners collection changed as a result of the call
+     */
+    public static boolean addMapFrameListener(MapFrameListener listener, boolean fireWhenMapViewPresent) {
+        boolean changed = listener != null ? mapFrameListeners.add(listener) : false;
+        if (fireWhenMapViewPresent && changed && map != null) {
+            listener.mapFrameInitialized(null, map);
+        }
+        return changed;
+    }
+
+    /**
+     * Registers a new {@code MapFrameListener} that will be notified of MapFrame changes
+     * @param listener The MapFrameListener
      * @return {@code true} if the listeners collection changed as a result of the call
      * @since 5957
      */
     public static boolean addMapFrameListener(MapFrameListener listener) {
-        return listener != null ? mapFrameListeners.add(listener) : false;
+        return addMapFrameListener(listener, false);
     }
 
Index: /trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java	(revision 8019)
+++ /trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java	(revision 8020)
@@ -614,5 +614,5 @@
                 PluginProxy pluginProxy = plugin.load(klass);
                 pluginList.add(pluginProxy);
-                Main.addMapFrameListener(pluginProxy);
+                Main.addMapFrameListener(pluginProxy, true);
             }
             msg = null;
