Index: trunk/src/org/openstreetmap/josm/data/osm/Changeset.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/Changeset.java	(revision 7699)
+++ trunk/src/org/openstreetmap/josm/data/osm/Changeset.java	(revision 7700)
@@ -35,4 +35,6 @@
     /** the max. coordinates of the bounding box of this changeset */
     private LatLon max;
+    /** the number of comments for this changeset */
+    private int commentsCount;
     /** the map of tags */
     private Map<String,String> tags;
@@ -161,4 +163,22 @@
     }
 
+    /**
+     * Replies the number of comments for this changeset.
+     * @return the number of comments for this changeset
+     * @since 7700
+     */
+    public final int getCommentsCount() {
+        return commentsCount;
+    }
+
+    /**
+     * Sets the number of comments for this changeset.
+     * @param commentsCount the number of comments for this changeset
+     * @since 7700
+     */
+    public final void setCommentsCount(int commentsCount) {
+        this.commentsCount = commentsCount;
+    }
+
     @Override
     public Map<String, String> getKeys() {
@@ -236,4 +256,7 @@
         } else if (!user.equals(other.user))
             return false;
+        if (commentsCount != other.commentsCount) {
+            return false;
+        }
         return true;
     }
@@ -286,4 +309,5 @@
         this.min = other.min;
         this.max = other.max;
+        this.commentsCount = other.commentsCount;
         this.tags = new HashMap<>(other.tags);
         this.incomplete = other.incomplete;
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableCellRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableCellRenderer.java	(revision 7699)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableCellRenderer.java	(revision 7700)
@@ -96,4 +96,9 @@
     }
 
+    protected void renderDiscussions(Changeset cs) {
+        setText(Integer.toString(cs.getCommentsCount()));
+        setToolTipText("");
+    }
+
     @Override
     public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
@@ -111,4 +116,5 @@
         case 4: /* created at */ renderDate(cs.getCreatedAt()); break;
         case 5: /* closed at */ renderDate(cs.getClosedAt()); break;
+        case 6: /* discussions */ renderDiscussions(cs); break;
         }
         return this;
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableColumnModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableColumnModel.java	(revision 7699)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheTableColumnModel.java	(revision 7700)
@@ -36,5 +36,5 @@
 
         // column 2 - Open
-        createColumn(2, tr("Open"), 50, -1);
+        createColumn(2, tr("Open"), 25, -1);
 
         // column 3 - User
@@ -46,4 +46,7 @@
         // column 5 - Closed at
         createColumn(5, tr("Closed at"), 100, -1);
+
+        // column 6 - Discussions
+        createColumn(6, tr("Discussions"), 25, -1);
     }
 
Index: trunk/src/org/openstreetmap/josm/io/OsmChangesetParser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmChangesetParser.java	(revision 7699)
+++ trunk/src/org/openstreetmap/josm/io/OsmChangesetParser.java	(revision 7700)
@@ -76,14 +76,5 @@
                 throwException(tr("Missing mandatory attribute ''{0}''.", "id"));
             }
-            int id = 0;
-            try {
-                id = Integer.parseInt(value);
-            } catch(NumberFormatException e) {
-                throwException(tr("Illegal value for attribute ''{0}''. Got ''{1}''.", "id", value));
-            }
-            if (id <= 0) {
-                throwException(tr("Illegal numeric value for attribute ''{0}''. Got ''{1}''.", "id", id));
-            }
-            current.setId(id);
+            current.setId(parseNumericAttribute(value, 1));
 
             // -- user
@@ -156,4 +147,23 @@
                 current.setMax(new LatLon(maxLon, maxLat));
             }
+
+            // -- comments_count
+            String commentsCount = atts.getValue("comments_count");
+            if (commentsCount != null) {
+                current.setCommentsCount(parseNumericAttribute(commentsCount, 0));
+            }
+        }
+
+        private int parseNumericAttribute(String value, int minAllowed) throws XmlParsingException {
+            int att = 0;
+            try {
+                att = Integer.parseInt(value);
+            } catch(NumberFormatException e) {
+                throwException(tr("Illegal value for attribute ''{0}''. Got ''{1}''.", "id", value));
+            }
+            if (att < minAllowed) {
+                throwException(tr("Illegal numeric value for attribute ''{0}''. Got ''{1}''.", "id", att));
+            }
+            return att;
         }
 
@@ -164,4 +174,5 @@
                 if (atts == null) {
                     throwException(tr("Missing mandatory attribute ''{0}'' of XML element {1}.", "version", "osm"));
+                    return;
                 }
                 String v = atts.getValue("version");
