Index: trunk/src/org/openstreetmap/josm/io/OsmReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmReader.java	(revision 2381)
+++ trunk/src/org/openstreetmap/josm/io/OsmReader.java	(revision 2382)
@@ -169,16 +169,4 @@
         private String generator;
 
-        protected void fixLegacyVersion(Attributes atts) throws SAXException {
-            if (ds.version.equals("0.6") && atts.getValue("version") == null) {
-                throwException(
-                        tr("Mandatory attribute ''version'' missing for object with id {0}.", current.id)
-                );
-            } else if (ds.version.equals("0.5") && atts.getValue("version") == null) {
-                // legacy mode. 0.5 data might not have version attribute. Init with
-                // default value 1
-                //
-                current.version = 1;
-            }
-        }
 
         @Override public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
@@ -227,5 +215,4 @@
                 current.latlon = new LatLon(getDouble(atts, "lat"), getDouble(atts, "lon"));
                 readCommon(atts, current);
-                fixLegacyVersion(atts);
                 Node n = current.createNode();
                 externalIdMap.put("n"+current.id, n);
@@ -233,5 +220,4 @@
                 current = new OsmPrimitiveData();
                 readCommon(atts, current);
-                fixLegacyVersion(atts);
                 Way w = current.createWay();
                 externalIdMap.put("w"+current.id, w);
@@ -262,5 +248,4 @@
                 current = new OsmPrimitiveData();
                 readCommon(atts, current);
-                fixLegacyVersion(atts);
                 Relation r = current.createRelation();
                 externalIdMap.put("r"+current.id, r );
@@ -387,4 +372,12 @@
                 if (current.id > 0 && ds.version != null && ds.version.equals("0.6")) {
                     throwException(tr("Missing attribute ''version'' on OSM primitive with ID {0}.", Long.toString(current.id)));
+                } else if (current.id > 0 && ds.version != null && ds.version.equals("0.5")) {
+                    // default version in 0.5 files for existing primitives
+                    System.out.println(tr("WARNING: Normalizing value of attribute ''version'' of element {0} to {2}, API version is ''{3}''. Got {1}.", current.id, current.version, 1, "0.5"));
+                    current.version= 1;
+                } else if (current.id <= 0 && ds.version != null && ds.version.equals("0.5")) {
+                    // default version in 0.5 files for new primitives
+                    System.out.println(tr("WARNING: Normalizing value of attribute ''version'' of element {0} to {2}, API version is ''{3}''. Got {1}.", current.id, current.version, 0, "0.5"));
+                    current.version= 0;
                 }
             }
