Index: trunk/src/org/openstreetmap/josm/gui/ExceptionDialogUtil.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/ExceptionDialogUtil.java	(revision 2412)
+++ trunk/src/org/openstreetmap/josm/gui/ExceptionDialogUtil.java	(revision 2413)
@@ -6,4 +6,5 @@
 
 import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
 import java.net.HttpURLConnection;
 import java.net.SocketException;
@@ -17,4 +18,5 @@
 import org.openstreetmap.josm.io.OsmChangesetCloseException;
 import org.openstreetmap.josm.io.OsmTransferException;
+import org.openstreetmap.josm.tools.BugReportExceptionHandler;
 import org.openstreetmap.josm.tools.ExceptionUtil;
 
@@ -82,4 +84,5 @@
      */
     public static void explainGeneric(Exception e) {
+        e.printStackTrace();
         HelpAwareOptionPane.showOptionDialog(
                 Main.parent,
@@ -146,6 +149,22 @@
 
     /**
+     * Explains a {@see InvocationTargetException }
+     * 
+     * @param e the exception
+     */
+
+    public static void explainNestedInvocationTargetException(Exception e) {
+        InvocationTargetException ex = getNestedException(e, InvocationTargetException.class);
+        if (ex != null) {
+            // Users should be able to submit a bug report for an invocation target exception
+            //
+            BugReportExceptionHandler.handleException(ex);
+            return;
+        }
+    }
+
+    /**
      * Explains a {@see OsmApiException} which was thrown because of an internal server
-     * error in the OSM API server..
+     * error in the OSM API server.
      * 
      * @param e the exception
@@ -334,4 +353,8 @@
      */
     public static void explainException(Exception e) {
+        if (getNestedException(e, InvocationTargetException.class) != null) {
+            explainNestedInvocationTargetException(e);
+            return;
+        }
         if (e instanceof OsmTransferException) {
             explainOsmTransferException((OsmTransferException) e);
