Index: /trunk/src/org/openstreetmap/josm/command/AddPrimitivesCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/AddPrimitivesCommand.java	(revision 10803)
+++ /trunk/src/org/openstreetmap/josm/command/AddPrimitivesCommand.java	(revision 10804)
@@ -101,4 +101,5 @@
                 }
             }
+            newPrimitives.stream().forEach(p -> p.setModified(true));
         } else { // redo
             // When redoing this command, we have to add the same objects, otherwise
Index: /trunk/test/unit/org/openstreetmap/josm/command/AddPrimitivesCommandTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/command/AddPrimitivesCommandTest.java	(revision 10803)
+++ /trunk/test/unit/org/openstreetmap/josm/command/AddPrimitivesCommandTest.java	(revision 10804)
@@ -4,5 +4,4 @@
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
@@ -218,8 +217,8 @@
         assertEquals(2, layer1.data.getNodes().size());
         assertEquals(1, layer1.data.getWays().size());
-        assertEquals(0, layer1.data.allModifiedPrimitives().size());
+        assertEquals(3, layer1.data.allModifiedPrimitives().size());
         for (OsmPrimitive n : layer1.data.allPrimitives()) {
             assertEquals("test", n.get("test"));
-            assertFalse(n.isModified());
+            assertTrue(n.isModified());
         }
 
