Index: /trunk/src/org/openstreetmap/josm/actions/ExtensionFileFilter.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/ExtensionFileFilter.java	(revision 5130)
+++ /trunk/src/org/openstreetmap/josm/actions/ExtensionFileFilter.java	(revision 5131)
@@ -89,5 +89,21 @@
                     }
                 }
-                );
+        );
+    }
+
+    /**
+     * Updates the {@see AllFormatsImporter} that is contained in the importers list. If
+     * you do not use the importers variable directly, you don’t need to call this.
+     * 
+     *  Updating the AllFormatsImporter is required when plugins add new importers that
+     *  support new file extensions. The old AllFormatsImporter doesn’t include the new
+     *  extensions and thus will not display these files.
+     */
+    public static void updateAllFormatsImporter() {
+        for(int i=0; i < importers.size(); i++) {
+            if(importers.get(i) instanceof AllFormatsImporter) {
+                importers.set(i, new AllFormatsImporter());
+            }
+        }
     }
 
@@ -100,4 +116,5 @@
      */
     public static List<ExtensionFileFilter> getImportExtensionFileFilters() {
+        updateAllFormatsImporter();
         LinkedList<ExtensionFileFilter> filters = new LinkedList<ExtensionFileFilter>();
         for (FileImporter importer : importers) {
@@ -199,5 +216,5 @@
             if (name.endsWith("."+ext))
                 return true;
-                return false;
+        return false;
     }
 
@@ -210,4 +227,8 @@
     @Override public String getDescription() {
         return description;
+    }
+
+    public String getExtensions() {
+        return extensions;
     }
 
Index: /trunk/src/org/openstreetmap/josm/io/AllFormatsImporter.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/AllFormatsImporter.java	(revision 5130)
+++ /trunk/src/org/openstreetmap/josm/io/AllFormatsImporter.java	(revision 5131)
@@ -5,4 +5,5 @@
 
 import java.io.File;
+import java.util.Iterator;
 
 import org.openstreetmap.josm.actions.ExtensionFileFilter;
@@ -13,9 +14,29 @@
 public class AllFormatsImporter extends FileImporter {
     public AllFormatsImporter() {
-        super(new ExtensionFileFilter("osm,xml,osm.gz,osm.bz2,osm.bz,osc,gpx,gpx.gz,nmea,nme,nma,log,txt,wms,jpg", "", tr("All Formats")
-                    + " (*.gpx *.osm *.nmea *.jpg ...)"));
+        super(new ExtensionFileFilter(getAllExtensions(), "", tr("All Formats")
+                + " (*.gpx *.osm *.nmea *.jpg ...)"));
     }
+
     @Override public boolean acceptFile(File pathname) {
         return false;
     }
+
+    /**
+     * Builds list of all supported extensions by the registered FileImporters.
+     * @return String comma separated list of supported file extensions
+     */
+    private static String getAllExtensions() {
+        Iterator<FileImporter> imp = ExtensionFileFilter.importers.iterator();
+        StringBuilder ext = new StringBuilder();
+        while(imp.hasNext()) {
+            FileImporter fi = imp.next();
+            if(fi instanceof AllFormatsImporter) {
+                continue;
+            }
+            ext.append(fi.filter.getExtensions());
+            ext.append(",");
+        }
+        // remove last comma
+        return ext.substring(0, ext.length()-1).toString();
+    }
 }
