Index: /applications/editors/josm/plugins/reverter/src/reverter/ReverterPlugin.java
===================================================================
--- /applications/editors/josm/plugins/reverter/src/reverter/ReverterPlugin.java	(revision 34973)
+++ /applications/editors/josm/plugins/reverter/src/reverter/ReverterPlugin.java	(revision 34974)
@@ -25,5 +25,5 @@
         JMenu historyMenu = MainApplication.getMenu().dataMenu;
         MainMenu.add(historyMenu, new RevertChangesetAction());
-        UploadAction.registerUploadHook(new ReverterUploadHook(this));
+        UploadAction.registerUploadHook(new ReverterUploadHook(info));
         new RemoteControl().addRequestHandler(RevertChangesetHandler.command, RevertChangesetHandler.class);
     }
Index: /applications/editors/josm/plugins/reverter/src/reverter/ReverterUploadHook.java
===================================================================
--- /applications/editors/josm/plugins/reverter/src/reverter/ReverterUploadHook.java	(revision 34973)
+++ /applications/editors/josm/plugins/reverter/src/reverter/ReverterUploadHook.java	(revision 34974)
@@ -4,30 +4,45 @@
 import org.openstreetmap.josm.actions.upload.UploadHook;
 import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.command.SequenceCommand;
 import org.openstreetmap.josm.data.APIDataSet;
 import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.plugins.PluginInformation;
 
+/**
+ * Upload hook to add tag to new changeset.
+ *
+ */
 public class ReverterUploadHook implements UploadHook {
-    String pluginString;
-    public ReverterUploadHook(ReverterPlugin plugin) {
-        pluginString = "reverter_plugin/" + plugin.getPluginInformation().version;
+    final String pluginString;
+
+    /**
+     * Create new {@link ReverterUploadHook}
+     * @param info plugin information
+     */
+    public ReverterUploadHook(PluginInformation info) {
+        pluginString = "reverter_plugin/" + info.version;
     }
 
     @Override
     public boolean checkUpload(APIDataSet apiDataSet) {
-        if (!ReverterPlugin.reverterUsed) return true;
-        boolean hasRevertions = false;
-        for (Command cmd : UndoRedoHandler.getInstance().commands) {
-            if (cmd instanceof RevertChangesetCommand) {
-                hasRevertions = true;
-                break;
+        if (ReverterPlugin.reverterUsed) {
+            for (Command cmd : UndoRedoHandler.getInstance().commands) {
+                if (isReverterCmd(cmd)) {
+                    MainApplication.getLayerManager().getEditDataSet().addChangeSetTag("created_by", pluginString);
+                    break;
+                }
             }
-        }
-
-        if (hasRevertions) {
-            MainApplication.getLayerManager().getEditDataSet().addChangeSetTag("created_by", "reverter");
         }
         return true;
     }
 
+    private static boolean isReverterCmd(Command cmd) {
+        if (cmd instanceof RevertChangesetCommand)
+            return true;
+        if (cmd instanceof SequenceCommand) {
+            return ((SequenceCommand) cmd).getLastCommand() instanceof RevertChangesetCommand;
+        }
+        return false;
+    }
 }
