Index: /trunk/src/org/openstreetmap/josm/command/conflict/ConflictAddCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/conflict/ConflictAddCommand.java	(revision 8913)
+++ /trunk/src/org/openstreetmap/josm/command/conflict/ConflictAddCommand.java	(revision 8914)
@@ -61,5 +61,5 @@
     @Override
     public void undoCommand() {
-        if (Main.map != null && !Main.map.mapView.hasLayer(getLayer())) {
+        if (Main.isDisplayingMapView() && !Main.map.mapView.hasLayer(getLayer())) {
             Main.warn(tr("Layer ''{0}'' does not exist any more. Cannot remove conflict for object ''{1}''.",
                     getLayer().getName(),
Index: /trunk/src/org/openstreetmap/josm/command/conflict/ConflictResolveCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/conflict/ConflictResolveCommand.java	(revision 8913)
+++ /trunk/src/org/openstreetmap/josm/command/conflict/ConflictResolveCommand.java	(revision 8914)
@@ -68,13 +68,15 @@
         super.undoCommand();
 
-        if (!Main.map.mapView.hasLayer(getLayer())) {
-            Main.warn(tr("Cannot undo command ''{0}'' because layer ''{1}'' is not present any more",
-                    this.toString(),
-                    getLayer().toString()
-            ));
-            return;
+        if (Main.isDisplayingMapView()) {
+            if (!Main.map.mapView.hasLayer(getLayer())) {
+                Main.warn(tr("Cannot undo command ''{0}'' because layer ''{1}'' is not present any more",
+                        this.toString(),
+                        getLayer().toString()
+                ));
+                return;
+            }
+
+            Main.map.mapView.setActiveLayer(getLayer());
         }
-
-        Main.map.mapView.setActiveLayer(getLayer());
         reconstituteConflicts();
     }
Index: /trunk/test/unit/org/openstreetmap/josm/command/conflict/ConflictAddCommandTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/command/conflict/ConflictAddCommandTest.java	(revision 8913)
+++ /trunk/test/unit/org/openstreetmap/josm/command/conflict/ConflictAddCommandTest.java	(revision 8914)
@@ -3,9 +3,13 @@
 
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import org.junit.BeforeClass;
 import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
 import org.openstreetmap.josm.data.conflict.Conflict;
 import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
@@ -15,4 +19,12 @@
  */
 public class ConflictAddCommandTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init();
+    }
 
     /**
@@ -31,3 +43,13 @@
         assertTrue(layer.getConflicts().isEmpty());
     }
+
+    /**
+     * Unit test of {@code ConflictAddCommand#getDescriptionIcon} method.
+     */
+    @Test
+    public void testGetDescriptionIcon() {
+        OsmDataLayer layer = new OsmDataLayer(new DataSet(), null, null);
+        Conflict<Node> conflict = new Conflict<>(new Node(), new Node());
+        assertNotNull(new ConflictAddCommand(layer, conflict).getDescriptionIcon());
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommandTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommandTest.java	(revision 8914)
+++ /trunk/test/unit/org/openstreetmap/josm/command/conflict/CoordinateConflictResolveCommandTest.java	(revision 8914)
@@ -0,0 +1,70 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.command.conflict;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openstreetmap.josm.JOSMFixture;
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.data.conflict.Conflict;
+import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.osm.DataSet;
+import org.openstreetmap.josm.data.osm.Node;
+import org.openstreetmap.josm.gui.conflict.pair.MergeDecisionType;
+import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+
+/**
+ * Unit tests of {@link CoordinateConflictResolveCommand} class.
+ */
+public class CoordinateConflictResolveCommandTest {
+
+    /**
+     * Setup test.
+     */
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        JOSMFixture.createUnitTestFixture().init(true);
+        Main.map.mapView.addLayer(new OsmDataLayer(new DataSet(), null, null));
+    }
+
+    private static Conflict<Node> createConflict() {
+        return new Conflict<>(new Node(LatLon.ZERO), new Node(new LatLon(50, 50)));
+    }
+
+    /**
+     * Unit test of {@code CoordinateConflictResolveCommand#executeCommand} and {@code CoordinateConflictResolveCommand#undoCommand} methods.
+     */
+    @Test
+    public void testExecuteKeepMineUndoCommand() {
+        Conflict<Node> conflict = createConflict();
+        CoordinateConflictResolveCommand cmd = new CoordinateConflictResolveCommand(conflict, MergeDecisionType.KEEP_MINE);
+        assertTrue(cmd.executeCommand());
+        assertTrue(LatLon.ZERO.equals(conflict.getMy().getCoor()));
+        cmd.undoCommand();
+        assertTrue(LatLon.ZERO.equals(conflict.getMy().getCoor()));
+    }
+
+    /**
+     * Unit test of {@code CoordinateConflictResolveCommand#executeCommand} and {@code CoordinateConflictResolveCommand#undoCommand} methods.
+     */
+    @Test
+    public void testExecuteKeepTheirUndoCommand() {
+        Conflict<Node> conflict = createConflict();
+        CoordinateConflictResolveCommand cmd = new CoordinateConflictResolveCommand(conflict, MergeDecisionType.KEEP_THEIR);
+        assertTrue(cmd.executeCommand());
+        assertTrue(conflict.getTheir().getCoor().equals(conflict.getMy().getCoor()));
+        cmd.undoCommand();
+        assertTrue(LatLon.ZERO.equals(conflict.getMy().getCoor()));
+    }
+
+    /**
+     * Unit test of {@code CoordinateConflictResolveCommand#getDescriptionIcon} method.
+     */
+    @Test
+    public void testGetDescriptionIcon() {
+        Conflict<Node> conflict = createConflict();
+        assertNotNull(new CoordinateConflictResolveCommand(conflict, null).getDescriptionIcon());
+    }
+}
