Index: /applications/editors/josm/plugins/undelete/src/org/openstreetmap/josm/plugins/undelete/UndeleteAction.java
===================================================================
--- /applications/editors/josm/plugins/undelete/src/org/openstreetmap/josm/plugins/undelete/UndeleteAction.java	(revision 33373)
+++ /applications/editors/josm/plugins/undelete/src/org/openstreetmap/josm/plugins/undelete/UndeleteAction.java	(revision 33374)
@@ -71,5 +71,5 @@
 
                         HistoryOsmPrimitive hPrimitive1 = h.getLatest();
-                        HistoryOsmPrimitive hPrimitive2;
+                        HistoryOsmPrimitive hPrimitive2 = null;
 
                         boolean visible = hPrimitive1.isVisible();
@@ -82,9 +82,13 @@
                             primitive = layer.data.getPrimitiveById(id, type);
                         } else {
+                            // We search n-1 version with redaction robustness
+                            int idx = 1;
+                            int n = h.getNumVersions();
+                            while (hPrimitive2 == null && idx < n) {
+                                hPrimitive2 =  h.getByVersion(n - idx++);
+                            }
                             if (type.equals(OsmPrimitiveType.NODE)) {
                                 // We get version and user from the latest version,
                                 // coordinates and tags from n-1 version
-                                hPrimitive2 = h.getByVersion(h.getNumVersions() - 1);
-
                                 Node node = new Node(id, (int) hPrimitive1.getVersion());
 
@@ -99,5 +103,4 @@
                                 // nodes and tags from n-1 version
                                 hPrimitive1 = h.getLatest();
-                                hPrimitive2 = h.getByVersion(h.getNumVersions() - 1);
 
                                 Way way = new Way(id, (int) hPrimitive1.getVersion());
@@ -119,5 +122,4 @@
                                 primitive = new Relation();
                                 hPrimitive1 = h.getLatest();
-                                hPrimitive2 = h.getByVersion(h.getNumVersions() - 1);
 
                                 Relation rel = new Relation(id, (int) hPrimitive1.getVersion());
