Index: /trunk/src/org/openstreetmap/josm/gui/io/SaveLayersDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/SaveLayersDialog.java	(revision 3440)
+++ /trunk/src/org/openstreetmap/josm/gui/io/SaveLayersDialog.java	(revision 3441)
@@ -30,4 +30,5 @@
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
+import javax.swing.WindowConstants;
 
 import org.openstreetmap.josm.Main;
@@ -81,4 +82,5 @@
 
         addWindowListener(new WindowClosingAdapter());
+        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
     }
 
@@ -274,4 +276,9 @@
     }
 
+    public void closeDialog() {
+        setVisible(false);
+        dispose();
+    }
+
     class WindowClosingAdapter extends WindowAdapter {
         @Override
@@ -290,5 +297,5 @@
         protected void cancelWhenInEditingModel() {
             setUserAction(UserAction.CANCEL);
-            setVisible(false);
+            closeDialog();
         }
 
@@ -328,5 +335,5 @@
         public void actionPerformed(ActionEvent e) {
             setUserAction(UserAction.PROCEED);
-            setVisible(false);
+            closeDialog();
         }
         public void propertyChange(PropertyChangeEvent evt) {
@@ -519,9 +526,9 @@
                 if (cancelled) {
                     setUserAction(UserAction.CANCEL);
-                    setVisible(false);
+                    closeDialog();
                 }
             } else {
                 setUserAction(UserAction.PROCEED);
-                setVisible(false);
+                closeDialog();
             }
         }
