Index: trunk/src/org/openstreetmap/josm/actions/AboutAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AboutAction.java	(revision 1188)
+++ trunk/src/org/openstreetmap/josm/actions/AboutAction.java	(revision 1189)
@@ -86,4 +86,8 @@
     }
 
+    static public String getTextBlock() {
+        return revision.getText();
+    }
+
     /**
      * Return the number part of the version string.
@@ -105,5 +109,5 @@
      */
     public static boolean isDevelopmentVersion() {
-        return version.endsWith(" SVN");
+        return version.endsWith(" SVN") || version.equals(tr("UNKNOWN"));
     }
 
Index: trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java	(revision 1188)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java	(revision 1189)
@@ -159,5 +159,5 @@
             }
             e.printStackTrace();
-            throw new SAXException(tr("An error occoured: {0}",e.getMessage()));
+            throw new SAXException(tr("An error occurred: {0}",e.getMessage()));
         }
         catch (OsmTransferException e) {
Index: trunk/src/org/openstreetmap/josm/plugins/PluginException.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginException.java	(revision 1188)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginException.java	(revision 1189)
@@ -16,5 +16,5 @@
 
     public PluginException(PluginProxy plugin, String name, Throwable cause) {
-        super(tr("An error occured in plugin {0}", name), cause);
+        super(tr("An error occurred in plugin {0}", name), cause);
         this.plugin = plugin;
         this.name = name;
Index: trunk/src/org/openstreetmap/josm/tools/BugReportExceptionHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/BugReportExceptionHandler.java	(revision 1188)
+++ trunk/src/org/openstreetmap/josm/tools/BugReportExceptionHandler.java	(revision 1189)
@@ -29,4 +29,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.AboutAction;
 import org.openstreetmap.josm.plugins.PluginException;
 import org.openstreetmap.josm.plugins.PluginProxy;
@@ -101,33 +102,20 @@
                     e.printStackTrace(new PrintWriter(stack));
 
-                    URL revUrl = Main.class.getResource("/REVISION");
-                    StringBuilder sb = new StringBuilder();
-                    if (revUrl == null) {
-                        sb.append(tr("Development version. Unknown revision."));
-                        File f = new File("org/openstreetmap/josm/Main.class");
-                        if (!f.exists())
-                            f = new File("bin/org/openstreetmap/josm/Main.class");
-                        if (!f.exists())
-                            f = new File("build/org/openstreetmap/josm/Main.class");
-                        if (f.exists()) {
-                            DateFormat sdf = SimpleDateFormat.getDateTimeInstance();
-                            sb.append("\nMain.class build on "+sdf.format(new Date(f.lastModified())));
-                            sb.append("\n");
-                        }
-                    } else {
-                        BufferedReader in = new BufferedReader(new InputStreamReader(revUrl.openStream()));
-                        for (String line = in.readLine(); line != null; line = in.readLine()) {
-                            sb.append(line);
-                            sb.append('\n');
-                        }
+                    String text = AboutAction.getTextBlock();
+                    String pl = Main.pref.get("plugins");
+                    if(pl != null && pl.length() != 0)
+                        text += "Plugins: "+pl+"\n";
+                    for (final PluginProxy pp : Main.plugins) {
+                        text += "Plugin " + pp.info.name + (pp.info.version != null && !pp.info.version.equals("") ? " Version: "+pp.info.version+"\n" : "\n");
                     }
-                    sb.append("\n"+stack.getBuffer().toString());
+                    text += "\n" + stack.getBuffer().toString();
 
                     JPanel p = new JPanel(new GridBagLayout());
-                    p.add(new JLabel(tr("<html>Please report a ticket at {0}<br>" +
-                    "Include your steps to get to the error (as detailed as possible)!<br>" +
-                    "Be sure to include the following information:</html>", "http://josm.openstreetmap.de/newticket")), GBC.eol());
+                    p.add(new JLabel("<html>" + tr("Please report a ticket at {0}","http://josm.openstreetmap.de/newticket") +
+                    "<br>" + tr("Include your steps to get to the error (as detailed as possible)!") +
+                    "<br>" + tr("Try updating to the newest version of JOSM and all plugin before reporting a bug.") +
+                    "<br>" + tr("Be sure to include the following information:") + "</html>"), GBC.eol());
                     try {
-                        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(sb.toString()), new ClipboardOwner(){
+                        Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(text), new ClipboardOwner(){
                             public void lostOwnership(Clipboard clipboard, Transferable contents) {}
                         });
@@ -136,5 +124,5 @@
                     catch (RuntimeException x) {}
 
-                    JTextArea info = new JTextArea(sb.toString(), 20, 60);
+                    JTextArea info = new JTextArea(text, 20, 60);
                     info.setCaretPosition(0);
                     info.setEditable(false);
