Index: trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 8366)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/SelectionListDialog.java	(revision 8367)
@@ -493,5 +493,5 @@
          * @return a summary of the current JOSM selection
          */
-        public String getJOSMSelectionSummary() {
+        public synchronized String getJOSMSelectionSummary() {
             if (selection.isEmpty()) return tr("Selection");
             int numNodes = 0;
@@ -545,10 +545,10 @@
 
         @Override
-        public OsmPrimitive getElementAt(int index) {
+        public synchronized OsmPrimitive getElementAt(int index) {
             return selection.get(index);
         }
 
         @Override
-        public int getSize() {
+        public synchronized int getSize() {
             return selection.size();
         }
@@ -560,5 +560,5 @@
          * @return choosen elements in the view
          */
-        public Collection<OsmPrimitive> getSelected() {
+        public synchronized Collection<OsmPrimitive> getSelected() {
             Set<OsmPrimitive> sel = new HashSet<>();
             for(int i=0; i< getSize();i++) {
@@ -575,5 +575,5 @@
          * @param sel the collection of primitives to select
          */
-        public void setSelected(Collection<OsmPrimitive> sel) {
+        public synchronized void setSelected(Collection<OsmPrimitive> sel) {
             selectionModel.clearSelection();
             if (sel == null) return;
@@ -598,5 +598,5 @@
          * @param selection the collection of currently selected OSM objects
          */
-        public void setJOSMSelection(final Collection<? extends OsmPrimitive> selection) {
+        public synchronized void setJOSMSelection(final Collection<? extends OsmPrimitive> selection) {
             this.selection.clear();
             if (selection != null) {
@@ -636,5 +636,5 @@
          * @param toUpdate the collection of primitives to update
          */
-        public void update(Collection<? extends OsmPrimitive> toUpdate) {
+        public synchronized void update(Collection<? extends OsmPrimitive> toUpdate) {
             if (toUpdate == null) return;
             if (toUpdate.isEmpty()) return;
@@ -652,5 +652,5 @@
          * Sorts the current elements in the selection
          */
-        public void sort() {
+        public synchronized void sort() {
             if (this.selection.size() <= Main.pref.getInteger("selection.no_sort_above", 100000)) {
                 boolean quick = this.selection.size() > Main.pref.getInteger("selection.fast_sort_above", 10000);
