Index: src/org/openstreetmap/josm/actions/downloadtasks/ChangesetContentDownloadTask.java
===================================================================
--- src/org/openstreetmap/josm/actions/downloadtasks/ChangesetContentDownloadTask.java	(revision 16609)
+++ src/org/openstreetmap/josm/actions/downloadtasks/ChangesetContentDownloadTask.java	(working copy)
@@ -65,11 +65,14 @@
                     }
                     if (isCanceled())
                         return;
-                    getProgressMonitor().setCustomText(tr("({0}/{1}) Downloading content for changeset {2}...", i, toDownload.size(), id));
-                    ChangesetDataSet ds = reader.downloadChangeset(id, getProgressMonitor().createSubTaskMonitor(0, false));
                     Changeset cs = ChangesetCache.getInstance().get(id);
-                    cs.setContent(ds);
-                    ChangesetCache.getInstance().update(cs);
+                    if (cs == null || cs.getContent() == null || cs.getClosedAt() == null) {
+                        getProgressMonitor().setCustomText(tr("({0}/{1}) Downloading content for changeset {2}...", i, toDownload.size(), id));
+                        ChangesetDataSet ds = reader.downloadChangeset(id, getProgressMonitor().createSubTaskMonitor(0, false));
+                        cs = ChangesetCache.getInstance().get(id);
+                        cs.setContent(ds);
+                        ChangesetCache.getInstance().update(cs);
+                    }
                     downloadedChangesets.add(cs);
                     getProgressMonitor().worked(1);
                 }
