Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 5111)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 5112)
@@ -543,5 +543,5 @@
         List<OsmDataLayer> layersWithUnmodifiedChanges = new ArrayList<OsmDataLayer>();
         for (OsmDataLayer l: Main.map.mapView.getLayersOfType(OsmDataLayer.class)) {
-            if (l.requiresSaveToFile() || l.requiresUploadToServer()) {
+            if ((l.requiresSaveToFile() || l.requiresUploadToServer()) && l.data.isModified()) {
                 layersWithUnmodifiedChanges.add(l);
             }
Index: trunk/src/org/openstreetmap/josm/command/AddCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/AddCommand.java	(revision 5111)
+++ trunk/src/org/openstreetmap/josm/command/AddCommand.java	(revision 5112)
@@ -49,4 +49,5 @@
     @Override public boolean executeCommand() {
         getLayer().data.addPrimitive(osm);
+        osm.setModified(true);
         return true;
     }
