Index: trunk/src/org/openstreetmap/josm/gui/SplashScreen.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/SplashScreen.java	(revision 8521)
+++ trunk/src/org/openstreetmap/josm/gui/SplashScreen.java	(revision 8524)
@@ -13,8 +13,7 @@
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
-import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 import javax.swing.BorderFactory;
@@ -123,10 +122,10 @@
     @Override
     public void stateChanged(ChangeEvent ignore) {
-        /*GuiHelper.runInEDT(new Runnable() {
+        GuiHelper.runInEDT(new Runnable() {
             @Override
             public void run() {
                 progressRenderer.setTasks(progressMonitor.toString());
             }
-        });*/
+        });
     }
 
@@ -194,5 +193,5 @@
         private final String name;
         private final ChangeListener listener;
-        private final List<Task> tasks = Collections.synchronizedList(new ArrayList<Task>());
+        private final List<Task> tasks = new CopyOnWriteArrayList<>();
         private SplashProgressMonitor latestSubtask;
 
@@ -204,17 +203,15 @@
         @Override
         public StringBuilder toHtml(StringBuilder sb) {
-            synchronized (tasks) {
-                sb.append(Utils.firstNonNull(name, ""));
-                if (!tasks.isEmpty()) {
-                    sb.append("<ul>");
-                    for (Task i : tasks) {
-                        sb.append("<li>");
-                        i.toHtml(sb);
-                        sb.append("</li>");
-                    }
-                    sb.append("</ul>");
+            sb.append(Utils.firstNonNull(name, ""));
+            if (!tasks.isEmpty()) {
+                sb.append("<ul>");
+                for (Task i : tasks) {
+                    sb.append("<li>");
+                    i.toHtml(sb);
+                    sb.append("</li>");
                 }
-                return sb;
-            }
+                sb.append("</ul>");
+            }
+            return sb;
         }
 
@@ -388,9 +385,10 @@
         }
 
+        /**
+         * Sets the tasks to displayed. A HTML formatted list is expected.
+         */
         public void setTasks(String tasks) {
-            synchronized (lblTaskTitle) {
-                lblTaskTitle.setText(LABEL_HTML + tasks);
-                lblTaskTitle.setCaretPosition(lblTaskTitle.getDocument().getLength());
-            }
+            lblTaskTitle.setText(LABEL_HTML + tasks);
+            lblTaskTitle.setCaretPosition(lblTaskTitle.getDocument().getLength());
             repaint();
         }
