diff --git a/src/org/openstreetmap/josm/data/AutosaveTask.java b/src/org/openstreetmap/josm/data/AutosaveTask.java
index e0fa1b7..08edf73 100644
--- a/src/org/openstreetmap/josm/data/AutosaveTask.java
+++ b/src/org/openstreetmap/josm/data/AutosaveTask.java
@@ -158,7 +158,8 @@ public class AutosaveTask extends TimerTask implements LayerChangeListener, List
         while (true) {
             String filename = String.format("%1$s_%2$tY%2$tm%2$td_%2$tH%2$tM%2$tS%2$tL%3$s",
                     layer.layerFileName, now, index == 0 ? "" : '_' + index);
-            File result = new File(autosaveDir, filename+".osm");
+            String extension = Main.pref.get("autosave.extension", "osm");
+            File result = new File(autosaveDir, filename + "." + extension);
             try {
                 if (result.createNewFile()) {
                     File pidFile = new File(autosaveDir, filename+".pid");
