Index: /trunk/src/org/openstreetmap/josm/actions/ExtensionFileFilter.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/ExtensionFileFilter.java	(revision 14667)
+++ /trunk/src/org/openstreetmap/josm/actions/ExtensionFileFilter.java	(revision 14668)
@@ -13,4 +13,5 @@
 import java.util.Objects;
 import java.util.ServiceConfigurationError;
+import java.util.function.Predicate;
 
 import javax.swing.filechooser.FileFilter;
@@ -316,12 +317,12 @@
      * @param fileChooser the file chooser
      * @param extension the default extension
-     * @param allTypes If true, all the files types known by JOSM will be proposed in the "file type" combobox.
-     *                 If false, only the file filters that include {@code extension} will be proposed
-     * @since 5438
-     */
-    public static void applyChoosableImportFileFilters(AbstractFileChooser fileChooser, String extension, boolean allTypes) {
+     * @param additionalTypes matching types will additionally be added to the "file type" combobox.
+     * @since 14668 (signature)
+     */
+    public static void applyChoosableImportFileFilters(
+            AbstractFileChooser fileChooser, String extension, Predicate<ExtensionFileFilter> additionalTypes) {
         for (ExtensionFileFilter filter: getImportExtensionFileFilters()) {
 
-            if (allTypes || filter.acceptName("file."+extension)) {
+            if (additionalTypes.test(filter) || filter.acceptName("file."+extension)) {
                 fileChooser.addChoosableFileFilter(filter);
             }
@@ -336,11 +337,11 @@
      * @param fileChooser the file chooser
      * @param extension the default extension
-     * @param allTypes If true, all the files types known by JOSM will be proposed in the "file type" combobox.
-     *                 If false, only the file filters that include {@code extension} will be proposed
-     * @since 5438
-     */
-    public static void applyChoosableExportFileFilters(AbstractFileChooser fileChooser, String extension, boolean allTypes) {
+     * @param additionalTypes matching types will additionally be added to the "file type" combobox.
+     * @since 14668 (signature)
+     */
+    public static void applyChoosableExportFileFilters(
+            AbstractFileChooser fileChooser, String extension, Predicate<ExtensionFileFilter> additionalTypes) {
         for (ExtensionFileFilter filter: getExportExtensionFileFilters()) {
-            if (allTypes || filter.acceptName("file."+extension)) {
+            if (additionalTypes.test(filter) || filter.acceptName("file."+extension)) {
                 fileChooser.addChoosableFileFilter(filter);
             }
Index: /trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 14667)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 14668)
@@ -105,5 +105,8 @@
 import org.openstreetmap.josm.gui.io.UploadDialog;
 import org.openstreetmap.josm.gui.io.UploadLayerTask;
+import org.openstreetmap.josm.gui.io.importexport.NoteExporter;
 import org.openstreetmap.josm.gui.io.importexport.OsmImporter;
+import org.openstreetmap.josm.gui.io.importexport.ValidatorErrorExporter;
+import org.openstreetmap.josm.gui.io.importexport.WMSLayerImporter;
 import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer;
 import org.openstreetmap.josm.gui.preferences.display.DrawingPreference;
@@ -1187,5 +1190,5 @@
             .extension(extension)
             .file(file)
-            .allTypes(true)
+            .additionalTypes(t -> t != WMSLayerImporter.FILE_FILTER && t != NoteExporter.FILE_FILTER && t != ValidatorErrorExporter.FILE_FILTER)
             .getFileForSave();
     }
Index: /trunk/src/org/openstreetmap/josm/gui/widgets/FileChooserManager.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/widgets/FileChooserManager.java	(revision 14667)
+++ /trunk/src/org/openstreetmap/josm/gui/widgets/FileChooserManager.java	(revision 14668)
@@ -6,4 +6,5 @@
 import java.util.Collection;
 import java.util.Collections;
+import java.util.function.Predicate;
 
 import javax.swing.JFileChooser;
@@ -46,5 +47,5 @@
     private int selectionMode = JFileChooser.FILES_ONLY;
     private String extension;
-    private boolean allTypes;
+    private Predicate<ExtensionFileFilter> additionalTypes = ignore -> false;
     private File file;
 
@@ -261,4 +262,14 @@
 
     /**
+     * Builder method to set {@code additionalTypes} property.
+     * @param value matching types will additionally be added to the "file type" combobox.
+     * @return this
+     */
+    public FileChooserManager additionalTypes(Predicate<ExtensionFileFilter> value) {
+        additionalTypes = value;
+        return this;
+    }
+
+    /**
      * Builder method to set {@code allTypes} property.
      * @param value If true, all the files types known by JOSM will be proposed in the "file type" combobox.
@@ -267,5 +278,5 @@
      */
     public FileChooserManager allTypes(boolean value) {
-        allTypes = value;
+        additionalTypes = ignore -> value;
         return this;
     }
@@ -311,7 +322,7 @@
             }
         } else if (open) {
-            ExtensionFileFilter.applyChoosableImportFileFilters(fc, extension, allTypes);
+            ExtensionFileFilter.applyChoosableImportFileFilters(fc, extension, additionalTypes);
         } else {
-            ExtensionFileFilter.applyChoosableExportFileFilters(fc, extension, allTypes);
+            ExtensionFileFilter.applyChoosableExportFileFilters(fc, extension, additionalTypes);
         }
         return this;
