Index: trunk/src/org/openstreetmap/josm/gui/layer/LayerManager.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/LayerManager.java	(revision 10993)
+++ trunk/src/org/openstreetmap/josm/gui/layer/LayerManager.java	(revision 10997)
@@ -280,5 +280,5 @@
      * @return The list of layers.
      */
-    public List<Layer> getLayers() {
+    public synchronized List<Layer> getLayers() {
         return Collections.unmodifiableList(new ArrayList<>(layers));
     }
@@ -295,5 +295,5 @@
      * @return an unmodifiable list of layers of a certain type.
      */
-    public <T extends Layer> List<T> getLayersOfType(Class<T> ofType) {
+    public synchronized <T extends Layer> List<T> getLayersOfType(Class<T> ofType) {
         return new ArrayList<>(Utils.filteredCollection(getLayers(), ofType));
     }
@@ -418,5 +418,5 @@
      * @since 10432
      */
-    public void resetState() {
+    public synchronized void resetState() {
         // some layer remove listeners remove other layers.
         while (!getLayers().isEmpty()) {
Index: trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java	(revision 10993)
+++ trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java	(revision 10997)
@@ -372,5 +372,5 @@
 
     @Override
-    public void resetState() {
+    public synchronized void resetState() {
         // active and edit layer are unset automatically
         super.resetState();
