diff --git a/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java b/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java
index 0f700f8..1e30b81 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java
@@ -16,6 +16,7 @@ import org.openstreetmap.josm.gui.widgets.MultiSplitLayout.Split;
 import org.openstreetmap.josm.gui.widgets.MultiSplitPane;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.Destroyable;
+import org.openstreetmap.josm.tools.bugreport.BugReport;
 
 /**
  * This is the panel displayed on the right side of JOSM. It displays a list of panels.
@@ -322,7 +323,11 @@ public class DialogsPanel extends JPanel implements Destroyable {
     @Override
     public void destroy() {
         for (ToggleDialog t : allDialogs) {
-            t.destroy();
+            try {
+                t.destroy();
+            } catch (RuntimeException e) {
+                throw BugReport.intercept(e).put("dialog", t).put("dialog-class", t.getClass());
+            }
         }
     }
 
diff --git a/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java b/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java
index 6c1454f..c10b892 100644
--- a/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java
+++ b/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java
@@ -308,6 +308,12 @@ public class ToggleDialog extends JPanel implements ShowHideButtonListener, Help
                 showNotify();
             }
         }
+
+        @Override
+        public String toString() {
+            return "ToggleDialogAction [" + ToggleDialog.this.toString() + "]";
+        }
+
     }
 
     /**
