Index: trunk/src/org/openstreetmap/josm/gui/progress/PleaseWaitProgressMonitor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/progress/PleaseWaitProgressMonitor.java	(revision 11279)
+++ trunk/src/org/openstreetmap/josm/gui/progress/PleaseWaitProgressMonitor.java	(revision 11283)
@@ -16,4 +16,5 @@
 import org.openstreetmap.josm.gui.PleaseWaitDialog;
 import org.openstreetmap.josm.gui.util.GuiHelper;
+import org.openstreetmap.josm.tools.bugreport.BugReport;
 
 public class PleaseWaitProgressMonitor extends AbstractProgressMonitor {
@@ -52,8 +53,14 @@
     private boolean cancelable;
 
-    private static void doInEDT(Runnable runnable) {
+    private void doInEDT(Runnable runnable) {
         // This must be invoke later even if current thread is EDT because inside there is dialog.setVisible
         // which freeze current code flow until modal dialog is closed
-        SwingUtilities.invokeLater(runnable);
+        SwingUtilities.invokeLater(() -> {
+            try {
+                runnable.run();
+            } catch (RuntimeException e) {
+                throw BugReport.intercept(e).put("monitor", this);
+            }
+        });
     }
 
@@ -172,6 +179,7 @@
             if (dialogParent != null && dialog == null) {
                 dialog = new PleaseWaitDialog(dialogParent);
-            } else
+            } else {
                 throw new ProgressException("PleaseWaitDialog parent must be set");
+            }
 
             if (windowTitle != null) {
@@ -326,3 +334,11 @@
             return parent;
     }
+
+    @Override
+    public String toString() {
+        return "PleaseWaitProgressMonitor [currentProgressValue=" + currentProgressValue + ", customText=" + customText
+                + ", title=" + title + ", indeterminate=" + indeterminate + ", isInBackground=" + isInBackground
+                + ", windowTitle=" + windowTitle + ", taskId=" + taskId + ", cancelable=" + cancelable + ", state="
+                + state + "]";
+    }
 }
