Index: trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 11108)
+++ trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 11109)
@@ -161,12 +161,8 @@
                 // Among existing nodes, try to keep the oldest used one
                 if (!n.getReferrers().isEmpty()) {
-                    if (targetNode == null) {
-                        targetNode = n;
-                    } else if (n.getId() < targetNode.getId()) {
+                    if (targetNode == null || n.getId() < targetNode.getId()) {
                         targetNode = n;
                     }
-                } else if (oldestNode == null) {
-                    oldestNode = n;
-                } else if (n.getId() < oldestNode.getId()) {
+                } else if (oldestNode == null || n.getId() < oldestNode.getId()) {
                     oldestNode = n;
                 }
@@ -200,7 +196,5 @@
                 if (!nodesToDelete.contains(n) && !n.equals(targetNode)) {
                     newNodes.add(n);
-                } else if (newNodes.isEmpty()) {
-                    newNodes.add(targetNode);
-                } else if (!newNodes.get(newNodes.size()-1).equals(targetNode)) {
+                } else if (newNodes.isEmpty() || !newNodes.get(newNodes.size()-1).equals(targetNode)) {
                     // make sure we collapse a sequence of deleted nodes
                     // to exactly one occurrence of the merged target node
Index: trunk/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java	(revision 11108)
+++ trunk/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java	(revision 11109)
@@ -131,7 +131,5 @@
         boolean zip;
         FileFilter ff = fc.getFileFilter();
-        if (zipRequired) {
-            zip = true;
-        } else if (joz.equals(ff)) {
+        if (zipRequired || joz.equals(ff)) {
             zip = true;
         } else if (jos.equals(ff)) {
Index: trunk/src/org/openstreetmap/josm/actions/SimplifyWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SimplifyWayAction.java	(revision 11108)
+++ trunk/src/org/openstreetmap/josm/actions/SimplifyWayAction.java	(revision 11109)
@@ -101,7 +101,5 @@
                 alertSelectAtLeastOneWay();
                 return;
-            } else if (!confirmWayWithNodesOutsideBoundingBox(ways)) {
-                return;
-            } else if (ways.size() > 10 && !confirmSimplifyManyWays(ways.size())) {
+            } else if (!confirmWayWithNodesOutsideBoundingBox(ways) || (ways.size() > 10 && !confirmSimplifyManyWays(ways.size()))) {
                 return;
             }
Index: trunk/src/org/openstreetmap/josm/actions/UploadSelectionAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/UploadSelectionAction.java	(revision 11108)
+++ trunk/src/org/openstreetmap/josm/actions/UploadSelectionAction.java	(revision 11109)
@@ -79,7 +79,5 @@
         Set<OsmPrimitive> ret = new HashSet<>();
         for (OsmPrimitive p: primitives) {
-            if (p.isNewOrUndeleted()) {
-                ret.add(p);
-            } else if (p.isModified() && !p.isIncomplete()) {
+            if (p.isNewOrUndeleted() || (p.isModified() && !p.isIncomplete())) {
                 ret.add(p);
             }
Index: trunk/test/unit/org/openstreetmap/josm/actions/MergeNodesActionTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/actions/MergeNodesActionTest.java	(revision 11108)
+++ trunk/test/unit/org/openstreetmap/josm/actions/MergeNodesActionTest.java	(revision 11109)
@@ -3,4 +3,5 @@
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 
 import java.util.Arrays;
@@ -46,30 +47,27 @@
 
     /**
-     * Unit test of {@link MergeNodesAction#selectTargetLocationNode} - mode 0
+     * Unit test of {@link MergeNodesAction#selectTargetLocationNode}
      */
     @Test
-    public void testSelectTargetLocationNodeMode0() {
+    public void testSelectTargetLocationNode() {
         Main.pref.putInteger("merge-nodes.mode", 0);
         assertEquals(1, MergeNodesAction.selectTargetLocationNode(Arrays.asList(new Node(0), new Node(1))).getId());
-    }
 
-    /**
-     * Unit test of {@link MergeNodesAction#selectTargetLocationNode} - mode 1
-     */
-    @Test
-    public void testSelectTargetLocationNodeMode1() {
         Main.pref.putInteger("merge-nodes.mode", 1);
         assertEquals(LatLon.ZERO, MergeNodesAction.selectTargetLocationNode(
                 Arrays.asList(new Node(LatLon.NORTH_POLE), new Node(LatLon.SOUTH_POLE))).getCoor());
-    }
 
-    /**
-     * Unit test of {@link MergeNodesAction#selectTargetLocationNode} - mode 2 with a single node
-     */
-    @Test
-    public void testSelectTargetLocationNodeMode2SingleNode() {
         Main.pref.putInteger("merge-nodes.mode", 2);
         assertEquals(LatLon.NORTH_POLE, MergeNodesAction.selectTargetLocationNode(
                 Arrays.asList(new Node(LatLon.NORTH_POLE))).getCoor());
     }
+
+    /**
+     * Unit test of {@link MergeNodesAction#selectTargetNode}
+     */
+    @Test
+    public void testSelectTargetNode() {
+        assertNull(MergeNodesAction.selectTargetNode(Collections.emptyList()));
+        assertEquals(1, MergeNodesAction.selectTargetNode(Arrays.asList(new Node(1))).getId());
+    }
 }
Index: trunk/test/unit/org/openstreetmap/josm/actions/SessionSaveAsActionTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/actions/SessionSaveAsActionTest.java	(revision 11109)
+++ trunk/test/unit/org/openstreetmap/josm/actions/SessionSaveAsActionTest.java	(revision 11109)
@@ -0,0 +1,33 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.actions;
+
+import static org.junit.Assert.assertFalse;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.openstreetmap.josm.testutils.JOSMTestRules;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+
+/**
+ * Unit tests for class {@link SessionSaveAsAction}.
+ */
+public class SessionSaveAsActionTest {
+
+    /**
+     * Setup test.
+     */
+    @Rule
+    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
+    public JOSMTestRules test = new JOSMTestRules().platform();
+
+    /**
+     * Unit test of {@link SessionSaveAsAction#actionPerformed}
+     */
+    @Test
+    public void testSessionSaveAsAction() {
+        SessionSaveAsAction action = new SessionSaveAsAction();
+        assertFalse(action.isEnabled());
+        action.actionPerformed(null);
+    }
+}
