Index: src/reverter/RevertChangesetTask.java
===================================================================
--- src/reverter/RevertChangesetTask.java	(revision 35867)
+++ src/reverter/RevertChangesetTask.java	(working copy)
@@ -97,11 +97,11 @@
                 Logging.info("Reverted changeset {0}", Long.toString(changesetId));
                 newLayer = false; // reuse layer for subsequent reverts
             } catch (OsmTransferException e) {
-            	rollback(allcmds);
+                rollback(allcmds);
                 Logging.error(e);
                 throw e;
             } catch (UserCancelException e) {
-            	rollback(allcmds);
+                rollback(allcmds);
                 GuiHelper.executeByMainWorkerInEDT(() -> new Notification(tr("Revert was canceled")).show());
                 Logging.trace(e);
                 return;
@@ -139,7 +139,7 @@
         }
         if (progressMonitor.isCanceled())
             throw new UserCancelException();
-
+        int numOldConflicts = oldDataSet == null ? 0 : oldDataSet.getConflicts().size();
         // Check missing objects
         rev.checkMissingCreated();
         rev.checkMissingUpdated();
@@ -153,6 +153,13 @@
             rev.checkMissingDeleted();
             rev.downloadMissingPrimitives(progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false));
         }
+        int numConflicts = oldDataSet == null ? 0 : oldDataSet.getConflicts().size();
+        if (numConflicts > numOldConflicts) {
+            GuiHelper.runInEDT(() -> new Notification(tr("Please solve conflicts and maybe try again to revert."))
+            .setIcon(JOptionPane.ERROR_MESSAGE)
+            .show());
+            progressMonitor.cancel();
+        }
 
         if (progressMonitor.isCanceled())
             throw new UserCancelException();
@@ -172,12 +179,12 @@
             return null;
         }
         GuiHelper.runInEDT(() -> {
-        	for (Command c : cmds) {
-        		if (c instanceof ConflictAddCommand) {
-        			numberOfConflicts++;
-        		}
-        		c.executeCommand();
-        	}
+            for (Command c : cmds) {
+                if (c instanceof ConflictAddCommand) {
+                    numberOfConflicts++;
+                }
+                c.executeCommand();
+            }
         });
         final String desc;
         if (revertType == RevertType.FULL) {
@@ -188,16 +195,16 @@
         return new RevertChangesetCommand(desc, cmds);
     }
 
-	@Override
-	protected void cancel() {
+    @Override
+    protected void cancel() {
         // nothing to do
-	}
+    }
 
-	@Override
-	protected void finish() {
+    @Override
+    protected void finish() {
         // nothing to do
 
-	}
+    }
 
     /**
      * Return number of conflicts for this changeset.
