Index: /trunk/src/org/openstreetmap/josm/actions/MergeLayerAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/MergeLayerAction.java	(revision 6963)
+++ /trunk/src/org/openstreetmap/josm/actions/MergeLayerAction.java	(revision 6964)
@@ -45,5 +45,5 @@
             public void run() {
                 boolean layerMerged = false;
-                for (Layer sourceLayer: sourceLayers) {
+                for (final Layer sourceLayer: sourceLayers) {
                     if (sourceLayer != null && sourceLayer != targetLayer) {
                         if (sourceLayer instanceof OsmDataLayer && targetLayer instanceof OsmDataLayer
@@ -54,5 +54,10 @@
                         }
                         targetLayer.mergeFrom(sourceLayer);
-                        Main.main.removeLayer(sourceLayer);
+                        GuiHelper.runInEDTAndWait(new Runnable() {
+                            @Override
+                            public void run() {
+                                Main.main.removeLayer(sourceLayer);
+                            }
+                        });
                         layerMerged = true;
                     }
