Index: applications/editors/josm/plugins/merge-overlap/src/mergeoverlap/MyCombinePrimitiveResolverDialog.java
===================================================================
--- applications/editors/josm/plugins/merge-overlap/src/mergeoverlap/MyCombinePrimitiveResolverDialog.java	(revision 29643)
+++ applications/editors/josm/plugins/merge-overlap/src/mergeoverlap/MyCombinePrimitiveResolverDialog.java	(revision 29644)
@@ -377,5 +377,5 @@
             setCancelled(false);
             btnApply.requestFocusInWindow();
-        } else {
+        } else if (isShowing()) { // Avoid IllegalComponentStateException like in #8775
             new WindowGeometry(this).remember(getClass().getName() + ".geometry");
         }
Index: applications/editors/josm/plugins/pdfimport/src/pdfimport/LoadPdfDialog.java
===================================================================
--- applications/editors/josm/plugins/pdfimport/src/pdfimport/LoadPdfDialog.java	(revision 29643)
+++ applications/editors/josm/plugins/pdfimport/src/pdfimport/LoadPdfDialog.java	(revision 29644)
@@ -512,9 +512,9 @@
 		public void setVisible(boolean visible) {
 			if (visible) {
-			new WindowGeometry(
-				getClass().getName() + ".geometry",
-				WindowGeometry.centerOnScreen(new Dimension(400, 300))).applySafe(this);
-			} else {
-			new WindowGeometry(this).remember(getClass().getName() + ".geometry");
+    			new WindowGeometry(
+    				getClass().getName() + ".geometry",
+    				WindowGeometry.centerOnScreen(new Dimension(400, 300))).applySafe(this);
+			} else if (isShowing()) { // Avoid IllegalComponentStateException like in #8775
+    			new WindowGeometry(this).remember(getClass().getName() + ".geometry");
 			}
 			super.setVisible(visible);
