Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetListModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetListModel.java	(revision 14343)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetListModel.java	(revision 14344)
@@ -41,5 +41,5 @@
      * @return The selected changesets
      */
-    public Set<Changeset> getSelectedChangesets() {
+    public synchronized Set<Changeset> getSelectedChangesets() {
         Set<Changeset> ret = new HashSet<>();
         for (int i = 0; i < getSize(); i++) {
@@ -55,5 +55,5 @@
      * @return The selected ids
      */
-    public Set<Integer> getSelectedChangesetIds() {
+    public synchronized Set<Integer> getSelectedChangesetIds() {
         Set<Integer> ret = new HashSet<>();
         for (int i = 0; i < getSize(); i++) {
@@ -69,5 +69,5 @@
      * @param changesets The changesets
      */
-    public void setSelectedChangesets(Collection<Changeset> changesets) {
+    public synchronized void setSelectedChangesets(Collection<Changeset> changesets) {
         selectionModel.setValueIsAdjusting(true);
         selectionModel.clearSelection();
@@ -91,5 +91,5 @@
     }
 
-    private void updateModel() {
+    private synchronized void updateModel() {
         Set<Changeset> sel = getSelectedChangesets();
         data.clear();
@@ -164,14 +164,14 @@
 
     @Override
-    public Changeset getElementAt(int idx) {
+    public synchronized Changeset getElementAt(int idx) {
         return data.get(idx);
     }
 
     @Override
-    public int getSize() {
+    public synchronized int getSize() {
         return data.size();
     }
 
-    protected void sort() {
+    protected synchronized void sort() {
         data.sort(Comparator.comparingInt(Changeset::getId).reversed());
     }
@@ -191,5 +191,5 @@
      * @return the selected open changesets
      */
-    public List<Changeset> getSelectedOpenChangesets() {
+    public synchronized List<Changeset> getSelectedOpenChangesets() {
         List<Changeset> ret = new ArrayList<>();
         for (int i = 0; i < getSize(); i++) {
@@ -208,5 +208,5 @@
     /* ---------------------------------------------------------------------------- */
     @Override
-    public void changesetCacheUpdated(ChangesetCacheEvent event) {
+    public synchronized void changesetCacheUpdated(ChangesetCacheEvent event) {
         Set<Changeset> sel = getSelectedChangesets();
         for (Changeset cs: event.getAddedChangesets()) {
