Index: /applications/editors/josm/plugins/reverter/.classpath
===================================================================
--- /applications/editors/josm/plugins/reverter/.classpath	(revision 29999)
+++ /applications/editors/josm/plugins/reverter/.classpath	(revision 30000)
@@ -2,5 +2,5 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/JOSM"/>
 	<classpathentry kind="output" path="build"/>
Index: /applications/editors/josm/plugins/reverter/src/reverter/ChangesetReverter.java
===================================================================
--- /applications/editors/josm/plugins/reverter/src/reverter/ChangesetReverter.java	(revision 29999)
+++ /applications/editors/josm/plugins/reverter/src/reverter/ChangesetReverter.java	(revision 30000)
@@ -9,5 +9,4 @@
 import java.util.HashSet;
 import java.util.Iterator;
-import java.util.LinkedList;
 import java.util.List;
 
@@ -204,4 +203,5 @@
      * @throws OsmTransferException
      */
+    @SuppressWarnings("unchecked")
     public void downloadObjectsHistory(ProgressMonitor progressMonitor) throws OsmTransferException {
         final OsmServerMultiObjectReader rdr = new OsmServerMultiObjectReader();
@@ -334,5 +334,5 @@
         // Create commands to restore/update all affected objects
         DataSetCommandMerger merger = new DataSetCommandMerger(nds,ds);
-        LinkedList<Command> cmds = merger.getCommandList();
+        List<Command> cmds = merger.getCommandList();
 
         //////////////////////////////////////////////////////////////////////////
Index: /applications/editors/josm/plugins/reverter/src/reverter/DataSetCommandMerger.java
===================================================================
--- /applications/editors/josm/plugins/reverter/src/reverter/DataSetCommandMerger.java	(revision 29999)
+++ /applications/editors/josm/plugins/reverter/src/reverter/DataSetCommandMerger.java	(revision 30000)
@@ -31,5 +31,6 @@
     private final DataSet targetDataSet;
 
-    private final LinkedList<Command> cmds = new LinkedList<Command>();
+    private final List<Command> cmds = new LinkedList<Command>();
+    private final List<OsmPrimitive> undeletedPrimitives = new LinkedList<OsmPrimitive>();
 
     /**
@@ -45,4 +46,5 @@
         if (!target.hasEqualSemanticAttributes(newTarget)) {
             cmds.add(new ChangeCommand(target,newTarget));
+            undeletedPrimitives.add(target);
         }
     }
@@ -94,5 +96,5 @@
         for (Node sourceNode : source.getNodes()) {
             Node targetNode = (Node)getMergeTarget(sourceNode);
-            if (!targetNode.isDeleted()) {
+            if (!targetNode.isDeleted() || undeletedPrimitives.contains(targetNode)) {
                 newNodes.add(targetNode);
             } else if (sourceNode.isIncomplete()
@@ -157,5 +159,5 @@
     }
 
-    public LinkedList<Command> getCommandList() {
+    public List<Command> getCommandList() {
         return cmds;
     }
