Index: trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 15124)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/properties/TagEditHelper.java	(revision 15125)
@@ -68,4 +68,5 @@
 import org.openstreetmap.josm.command.SequenceCommand;
 import org.openstreetmap.josm.data.UndoRedoHandler;
+import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmDataManager;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -234,17 +235,23 @@
     public void addTag() {
         changedKey = null;
-        sel = OsmDataManager.getInstance().getInProgressSelection();
-        if (sel == null || sel.isEmpty())
-            return;
-
-        final AddTagsDialog addDialog = getAddTagsDialog();
-
-        addDialog.showDialog();
-
-        addDialog.destroyActions();
-        if (addDialog.getValue() == 1)
-            addDialog.performTagAdding();
-        else
-            addDialog.undoAllTagsAdding();
+        DataSet activeDataSet = OsmDataManager.getInstance().getActiveDataSet();
+        try {
+            activeDataSet.beginUpdate();
+            sel = OsmDataManager.getInstance().getInProgressSelection();
+            if (sel == null || sel.isEmpty())
+                return;
+
+            final AddTagsDialog addDialog = getAddTagsDialog();
+
+            addDialog.showDialog();
+
+            addDialog.destroyActions();
+            if (addDialog.getValue() == 1)
+                addDialog.performTagAdding();
+            else
+                addDialog.undoAllTagsAdding();
+        } finally {
+            activeDataSet.endUpdate();
+        }
     }
 
