Index: trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 4455)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java	(revision 4456)
@@ -710,5 +710,5 @@
                     Layer firstLayer = getModel().getSelectedLayers().get(0);
                     for (Layer l: getModel().getSelectedLayers()) {
-                        if (l != firstLayer && !l.isMergable(firstLayer)) {
+                        if (l != firstLayer && (!l.isMergable(firstLayer) || !firstLayer.isMergable(l))) {
                             setEnabled(false);
                             return;
@@ -1287,5 +1287,5 @@
                     continue;
                 }
-                if (target.isMergable(source)) {
+                if (target.isMergable(source) && source.isMergable(target)) {
                     targets.add(target);
                 }
