Index: trunk/src/org/openstreetmap/josm/io/AbstractParser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/AbstractParser.java	(revision 13761)
+++ trunk/src/org/openstreetmap/josm/io/AbstractParser.java	(revision 13762)
@@ -108,5 +108,6 @@
         long id = getMandatoryAttributeLong(atts, "id");
         long version = getMandatoryAttributeLong(atts, "version");
-        long changesetId = getMandatoryAttributeLong(atts, "changeset");
+        Long changeset = getAttributeLong(atts, "changeset");
+        long changesetId = changeset != null ? changeset : 0L;
         boolean visible = getMandatoryAttributeBoolean(atts, "visible");
 
@@ -132,10 +133,10 @@
             Double lon = getAttributeDouble(atts, "lon");
             LatLon coor = (lat != null && lon != null) ? new LatLon(lat, lon) : null;
-            primitive = new HistoryNode(id, version, visible, user, changesetId, timestamp, coor);
+            primitive = new HistoryNode(id, version, visible, user, changesetId, timestamp, coor, changeset != null);
 
         } else if (type.equals(OsmPrimitiveType.WAY)) {
-            primitive = new HistoryWay(id, version, visible, user, changesetId, timestamp);
+            primitive = new HistoryWay(id, version, visible, user, changesetId, timestamp, changeset != null);
         } else if (type.equals(OsmPrimitiveType.RELATION)) {
-            primitive = new HistoryRelation(id, version, visible, user, changesetId, timestamp);
+            primitive = new HistoryRelation(id, version, visible, user, changesetId, timestamp, changeset != null);
         }
         return primitive;
