Index: applications/editors/josm/plugins/reverter/src/reverter/ChangesetReverter.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/ChangesetReverter.java	(revision 30017)
+++ applications/editors/josm/plugins/reverter/src/reverter/ChangesetReverter.java	(revision 30031)
@@ -55,4 +55,9 @@
         SELECTION_WITH_UNDELETE
     }
+    
+    public static final Collection<Long> MODERATOR_REDACTION_ACCOUNTS = Collections.unmodifiableCollection(Arrays.asList(
+            722137L, // OSMF Redaction Account
+            760215L  // pnorman redaction revert
+            ));
 
     public final int changesetId;
@@ -122,7 +127,8 @@
      * @param monitor
      * @throws OsmTransferException
+     * @throws RevertRedactedChangesetException 
      */
     public ChangesetReverter(int changesetId, RevertType revertType, boolean newLayer, ProgressMonitor monitor)
-            throws OsmTransferException {
+            throws OsmTransferException, RevertRedactedChangesetException {
         this.changesetId = changesetId;
         if (newLayer) {
@@ -137,6 +143,9 @@
         OsmServerChangesetReader csr = new OsmServerChangesetReader();
         monitor.beginTask("", 2);
+        changeset = csr.readChangeset(changesetId, monitor.createSubTaskMonitor(1, false));
+        if (MODERATOR_REDACTION_ACCOUNTS.contains(changeset.getUser().getId())) {
+            throw new RevertRedactedChangesetException(tr("It is not allowed to revert changeset from {0}", changeset.getUser().getName()));
+        }
         try {
-            changeset = csr.readChangeset(changesetId, monitor.createSubTaskMonitor(1, false));
             cds = csr.downloadChangeset(changesetId, monitor.createSubTaskMonitor(1, false));
         } finally {
Index: applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetTask.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetTask.java	(revision 30017)
+++ applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetTask.java	(revision 30031)
@@ -10,4 +10,5 @@
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.ConflictAddCommand;
+import org.openstreetmap.josm.gui.Notification;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
 import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor;
@@ -64,6 +65,21 @@
     protected void realRun() throws OsmTransferException {
         progressMonitor.indeterminateSubTask(tr("Downloading changeset"));
-        rev = new ChangesetReverter(changesetId, revertType, newLayer,
-                progressMonitor.createSubTaskMonitor(0, true));
+        try {
+            rev = new ChangesetReverter(changesetId, revertType, newLayer,
+                    progressMonitor.createSubTaskMonitor(0, true));
+        } catch (final RevertRedactedChangesetException e) {
+            GuiHelper.runInEDT(new Runnable() {
+                @Override
+                public void run() {
+                    new Notification(
+                            e.getMessage()+"<br>"+
+                            tr("See {0}", "<a href=\"http://www.openstreetmap.org/redactions\">http://www.openstreetmap.org/redactions</a>"))
+                    .setIcon(JOptionPane.ERROR_MESSAGE)
+                    .setDuration(Notification.TIME_LONG)
+                    .show();
+                }
+            });
+            progressMonitor.cancel();
+        }
         if (progressMonitor.isCanceled()) return;
 
Index: applications/editors/josm/plugins/reverter/src/reverter/RevertRedactedChangesetException.java
===================================================================
--- applications/editors/josm/plugins/reverter/src/reverter/RevertRedactedChangesetException.java	(revision 30031)
+++ applications/editors/josm/plugins/reverter/src/reverter/RevertRedactedChangesetException.java	(revision 30031)
@@ -0,0 +1,20 @@
+package reverter;
+
+/**
+ * Exception thrown if a changeset created by a modeartor redaction account is being reverted. 
+ */
+@SuppressWarnings("serial")
+public class RevertRedactedChangesetException extends Exception {
+
+    public RevertRedactedChangesetException(String message) {
+        super(message);
+    }
+
+    public RevertRedactedChangesetException(Throwable cause) {
+        super(cause);
+    }
+
+    public RevertRedactedChangesetException(String message, Throwable cause) {
+        super(message, cause);
+    }
+}
