Index: trunk/src/org/openstreetmap/josm/gui/progress/PleaseWaitProgressMonitor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/progress/PleaseWaitProgressMonitor.java	(revision 4753)
+++ trunk/src/org/openstreetmap/josm/gui/progress/PleaseWaitProgressMonitor.java	(revision 4754)
@@ -48,4 +48,10 @@
     private boolean cancelable;
 
+    private void setDialogVisible(boolean visible) {
+        if (dialog.isVisible() != visible) {
+            dialog.setVisible(visible);
+        }
+    }
+
     private ProgressMonitorDialog getDialog() {
 
@@ -60,5 +66,5 @@
         }
         if (dialog != null) {
-            dialog.setVisible(!isInBackground || backgroundMonitor == null);
+            setDialogVisible(!isInBackground || backgroundMonitor == null);
         }
 
@@ -66,5 +72,5 @@
             backgroundMonitor.setVisible(true);
             if (dialog != null) {
-                dialog.setVisible(false);
+                setDialogVisible(false);
             }
             return backgroundMonitor;
@@ -72,9 +78,9 @@
             backgroundMonitor.setVisible(false);
             if (dialog != null) {
-                dialog.setVisible(true);
+                setDialogVisible(true);
             }
             return dialog;
         } else if (dialog != null) {
-            dialog.setVisible(true);
+            setDialogVisible(true);
             return dialog;
         } else
