Index: trunk/src/org/openstreetmap/josm/actions/SaveActionBase.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SaveActionBase.java	(revision 6010)
+++ trunk/src/org/openstreetmap/josm/actions/SaveActionBase.java	(revision 6011)
@@ -147,8 +147,16 @@
         if (fc == null) return null;
         File file = fc.getSelectedFile();
-        String fn = file.getPath();
-        if (fn.indexOf('.') == -1)
-        {
-            FileFilter ff = fc.getFileFilter();
+        
+        FileFilter ff = fc.getFileFilter();
+        if (!ff.accept(file)) {
+            // Extension of another filefilter given ?
+            for (FileFilter cff : fc.getChoosableFileFilters()) {
+                if (cff.accept(file)) {
+                    fc.setFileFilter(cff);
+                    return file;
+                }
+            }
+            // No filefilter accepts current filename, add default extension
+            String fn = file.getPath();
             if (ff instanceof ExtensionFileFilter) {
                 fn += "." + ((ExtensionFileFilter)ff).getDefaultExtension();
