Index: trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java	(revision 12767)
+++ trunk/src/org/openstreetmap/josm/command/ChangePropertyCommand.java	(revision 12769)
@@ -140,10 +140,14 @@
 
                 if (newVal == null || newVal.isEmpty()) {
-                    if (oldVal != null)
+                    if (oldVal != null) {
                         // new value is null and tag exists (will delete tag)
                         modified = true;
-                } else if (oldVal == null || !newVal.equals(oldVal))
+                        break;
+                    }
+                } else if (oldVal == null || !newVal.equals(oldVal)) {
                     // new value is not null and is different from current value
                     modified = true;
+                    break;
+                }
             }
             if (modified)
@@ -154,4 +158,6 @@
     @Override
     public boolean executeCommand() {
+        if (objects.isEmpty())
+            return true;
         final DataSet dataSet = objects.get(0).getDataSet();
         if (dataSet != null) {
Index: trunk/src/org/openstreetmap/josm/gui/datatransfer/importers/PrimitiveTagTransferPaster.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/datatransfer/importers/PrimitiveTagTransferPaster.java	(revision 12767)
+++ trunk/src/org/openstreetmap/josm/gui/datatransfer/importers/PrimitiveTagTransferPaster.java	(revision 12769)
@@ -27,5 +27,5 @@
 
 /**
- * This class helps pasting tags form other primitives. It handles resolving conflicts.
+ * This class helps pasting tags from other primitives. It handles resolving conflicts.
  * @author Michael Zangl
  * @since 10737
@@ -50,5 +50,8 @@
         List<Command> commands = new ArrayList<>();
         for (Tag tag : tagPaster.execute()) {
-            commands.add(new ChangePropertyCommand(selection, tag.getKey(), "".equals(tag.getValue()) ? null : tag.getValue()));
+            ChangePropertyCommand cmd = new ChangePropertyCommand(selection, tag.getKey(), "".equals(tag.getValue()) ? null : tag.getValue());
+            if (cmd.getObjectsNumber() > 0) {
+                commands.add(cmd);
+            }
         }
         commitCommands(selection, commands);
