Index: src/org/openstreetmap/josm/gui/history/HistoryBrowserDialogManager.java
===================================================================
--- src/org/openstreetmap/josm/gui/history/HistoryBrowserDialogManager.java	(revision 16386)
+++ src/org/openstreetmap/josm/gui/history/HistoryBrowserDialogManager.java	(working copy)
@@ -8,10 +8,10 @@
 import java.awt.Point;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
 import java.util.List;
-import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Objects;
 import java.util.function.Predicate;
@@ -58,7 +58,7 @@
 
     private static HistoryBrowserDialogManager instance;
 
-    private final Map<Long, HistoryBrowserDialog> dialogs = new HashMap<>();
+    private final LinkedHashMap<Long, HistoryBrowserDialog> dialogs = new LinkedHashMap<>();
 
     private final Predicate<PrimitiveId> unloadedHistoryPredicate = new UnloadedHistoryPredicate();
 
@@ -143,6 +143,9 @@
         }
         dialog.setVisible(false);
         dialog.dispose();
+        if (!dialogs.isEmpty()) {
+            new LinkedList<>(dialogs.values()).getLast().toFront();
+        }
     }
 
     /**
