Index: trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java	(revision 17572)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java	(revision 17573)
@@ -35,4 +35,5 @@
 import java.util.Objects;
 import java.util.Set;
+import java.util.TreeMap;
 import java.util.TreeSet;
 import java.util.concurrent.CopyOnWriteArrayList;
@@ -185,5 +186,7 @@
         public String getText() {
             StringBuilder b = new StringBuilder();
-            for (Entry<Object, Object> e : info.attr.entrySet()) {
+            Map<Object, Object> sorted = new TreeMap<>(Comparator.comparing(String::valueOf));
+            sorted.putAll(info.attr);
+            for (Entry<Object, Object> e : sorted.entrySet()) {
                 b.append(e.getKey());
                 b.append(": ");
Index: trunk/src/org/openstreetmap/josm/plugins/PluginInformation.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginInformation.java	(revision 17572)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginInformation.java	(revision 17573)
@@ -150,4 +150,5 @@
      */
     public PluginInformation(InputStream manifestStream, String name, String url) throws PluginException {
+        this.name = name;
         try {
             Manifest manifest = new Manifest();
