Index: trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java	(revision 5046)
+++ trunk/src/org/openstreetmap/josm/actions/SaveAsAction.java	(revision 5048)
@@ -17,5 +17,6 @@
  */
 public class SaveAsAction extends SaveActionBase {
-
+    private static SaveAsAction instance = new SaveAsAction();
+    
     /**
      * Construct the action with "Save" as label.
@@ -28,4 +29,8 @@
         putValue("help", ht("/Action/SaveAs"));
     }
+    
+    public static SaveAsAction getInstance() {
+        return instance;
+    }
 
     @Override protected File getFile(Layer layer) {
Index: trunk/src/org/openstreetmap/josm/gui/MainMenu.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 5046)
+++ trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 5048)
@@ -121,5 +121,5 @@
     public final OpenLocationAction openLocation = new OpenLocationAction();
     public final JosmAction save = SaveAction.getInstance();
-    public final JosmAction saveAs = new SaveAsAction();
+    public final JosmAction saveAs = SaveAsAction.getInstance();
     public JosmAction sessionLoad;
     public JosmAction sessionSaveAs;
Index: trunk/src/org/openstreetmap/josm/gui/layer/Layer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/Layer.java	(revision 5046)
+++ trunk/src/org/openstreetmap/josm/gui/layer/Layer.java	(revision 5048)
@@ -381,5 +381,5 @@
 
         public void actionPerformed(ActionEvent e) {
-            new SaveAsAction().doSave(layer);
+            SaveAsAction.getInstance().doSave(layer);
         }
     }
