Index: applications/editors/josm/plugins/reverter/src/reverter/corehacks/OsmChangesetContentParser.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/corehacks/OsmChangesetContentParser.java	(revision 28502)
+++ applications/editors/josm/plugins/reverter/src/reverter/corehacks/OsmChangesetContentParser.java	(revision 28503)
@@ -87,5 +87,5 @@
             return l;
         }
-
+/*
         protected long getAttributeLong(Attributes attr, String name, long defaultValue) throws SAXException{
             String v = attr.getValue(name);
@@ -96,16 +96,16 @@
                 l = Long.parseLong(v);
             } catch(NumberFormatException e) {
-                throwException(tr("Illegal value for mandatory attribute ''{0}'' of type long. Got ''{1}''.", name, v));
+                throwException(tr("Illegal value for attribute ''{0}'' of type long. Got ''{1}''.", name, v));
             }
             if (l < 0) {
-                throwException(tr("Illegal value for mandatory attribute ''{0}'' of type long (>=0). Got ''{1}''.", name, v));
+                throwException(tr("Illegal value for attribute ''{0}'' of type long (>=0). Got ''{1}''.", name, v));
             }
             return l;
         }
-
-        protected Double getMandatoryAttributeDouble(Attributes attr, String name) throws SAXException{
+*/
+        protected Double getAttributeDouble(Attributes attr, String name) throws SAXException{
             String v = attr.getValue(name);
             if (v == null) {
-                throwException(tr("Missing mandatory attribute ''{0}''.", name));
+                return null;
             }
             double d = 0.0;
@@ -113,5 +113,5 @@
                 d = Double.parseDouble(v);
             } catch(NumberFormatException e) {
-                throwException(tr("Illegal value for mandatory attribute ''{0}'' of type double. Got ''{1}''.", name, v));
+                throwException(tr("Illegal value for attribute ''{0}'' of type double. Got ''{1}''.", name, v));
             }
             return d;
@@ -125,5 +125,5 @@
             return v;
         }
-
+/*
         protected String getAttributeString(Attributes attr, String name, String defaultValue) {
             String v = attr.getValue(name);
@@ -132,5 +132,5 @@
             return v;
         }
-
+*/
         protected boolean getMandatoryAttributeBoolean(Attributes attr, String name) throws SAXException{
             String v = attr.getValue(name);
@@ -156,8 +156,9 @@
             // TODO: Update OsmChangesetContentParser from the core or update core OsmChangesetContentParser to make it usable with reverter
             if (type.equals(OsmPrimitiveType.NODE)) {
-                double lat = getMandatoryAttributeDouble(atts, "lat");
-                double lon = getMandatoryAttributeDouble(atts, "lon");
+                Double lat = getAttributeDouble(atts, "lat");
+                Double lon = getAttributeDouble(atts, "lon");
+                LatLon coor = (lat != null && lon != null) ? new LatLon(lat,lon) : null;
                 primitive = new HistoryNode(
-                        id,version,visible,User.getAnonymous(),changesetId,timestamp, new LatLon(lat,lon)
+                        id,version,visible,User.getAnonymous(),changesetId,timestamp, coor
                 );
 
