Index: trunk/src/org/openstreetmap/josm/gui/history/HistoryLoadTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/HistoryLoadTask.java	(revision 19096)
+++ trunk/src/org/openstreetmap/josm/gui/history/HistoryLoadTask.java	(revision 19098)
@@ -10,4 +10,5 @@
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Iterator;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -16,4 +17,5 @@
 
 import org.openstreetmap.josm.data.osm.Changeset;
+import org.openstreetmap.josm.data.osm.ChangesetCache;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.PrimitiveId;
@@ -230,13 +232,25 @@
             OsmServerChangesetReader changesetReader = new OsmServerChangesetReader();
             List<Long> changesetIds = new ArrayList<>(ds.getChangesetIds());
+            Iterator<Long> iter = changesetIds.iterator();
+            while (iter.hasNext()) {
+                long id = iter.next();
+                Changeset cs = ChangesetCache.getInstance().get((int) id);
+                if (cs != null && !cs.isOpen()) {
+                    ds.putChangeset(cs);
+                    iter.remove();
+                }
+            }
 
             // query changesets 100 by 100 (OSM API limit)
             int n = ChangesetQuery.MAX_CHANGESETS_NUMBER;
             for (int i = 0; i < changesetIds.size(); i += n) {
+                List<Changeset> downloadedCS = new ArrayList<>(changesetIds.size());
                 for (Changeset c : changesetReader.queryChangesets(
                         new ChangesetQuery().forChangesetIds(changesetIds.subList(i, Math.min(i + n, changesetIds.size()))),
                         progressMonitor.createSubTaskMonitor(1, false))) {
                     ds.putChangeset(c);
+                    downloadedCS.add(c);
                 }
+                ChangesetCache.getInstance().update(downloadedCS);
             }
         }
