Index: trunk/src/org/openstreetmap/josm/io/AbstractReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/AbstractReader.java	(revision 15781)
+++ trunk/src/org/openstreetmap/josm/io/AbstractReader.java	(revision 15783)
@@ -327,6 +327,8 @@
         } finally {
             OptionalLong minId = externalIdMap.values().stream().mapToLong(AbstractPrimitive::getUniqueId).min();
-            if (minId.isPresent() && minId.getAsLong() < AbstractPrimitive.currentUniqueId()) {
-                AbstractPrimitive.advanceUniqueId(minId.getAsLong());
+            synchronized (AbstractPrimitive.class) {
+                if (minId.isPresent() && minId.getAsLong() < AbstractPrimitive.currentUniqueId()) {
+                    AbstractPrimitive.advanceUniqueId(minId.getAsLong());
+                }
             }
             progressMonitor.finishTask();
