Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 349)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 350)
@@ -238,10 +238,17 @@
 						Main.plugins.add(info.load(klass));
 					}
-				} catch (PluginException e) {
+				} catch (Throwable e) {
 					e.printStackTrace();
 					if (early)
-						System.out.println("Could not load plugin: "+info.name); // do not translate
+						System.out.println("Could not load plugin: "+info.name+" - deleted from preferences"); // do not translate
 					else
-						JOptionPane.showMessageDialog(Main.parent, tr("Could not load plugin {0}.", info.name));
+						JOptionPane.showMessageDialog(Main.parent, tr("Could not load plugin {0}. Deleted from preferences.", info.name));
+					plugins.remove(info.name);
+					String plist = null;
+					for (String pn : plugins) { 
+						if (plist==null) plist=""; else plist=plist+",";
+						plist=plist+pn;
+					}
+					Main.pref.put("plugins", plist);
 				}
 			}
Index: trunk/src/org/openstreetmap/josm/gui/MainApplication.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 349)
+++ trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 350)
@@ -112,10 +112,4 @@
 			Main.pref.resetToDefault();
 		}
-		
-		if (!Main.pref.getBoolean("plugins-0.5", false)) {
-			Main.pref.put("plugins", null);
-			Main.pref.put("plugins-0.5", "true");
-			System.out.println("disabled plugins setting. re-enable the plugins you need.");
-		}
 
 		// load the early plugins
