Index: trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java	(revision 1027)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java	(revision 1028)
@@ -6,4 +6,5 @@
 
 import java.awt.Dimension;
+import java.awt.Graphics;
 import java.awt.GridBagLayout;
 import java.awt.event.ActionEvent;
@@ -27,4 +28,5 @@
 import javax.swing.BorderFactory;
 import javax.swing.Box;
+import javax.swing.BoxLayout;
 import javax.swing.DefaultListModel;
 import javax.swing.JButton;
@@ -78,6 +80,27 @@
 
 	private Map<PluginDescription, Boolean> pluginMap;
-	private Box pluginPanel = Box.createVerticalBox();
 	private JPanel plugin;
+	private class MyBox extends Box {
+		int lastwidth;
+		int offset = 40;
+		public MyBox()
+		{
+			super(BoxLayout.Y_AXIS);
+		}
+		public int myGetWidth()
+		{
+			int w = plugin.getWidth()-offset;
+			if(w <= 0) w = 450;
+			lastwidth = w;
+			return w;
+		}
+		public void paint(Graphics g)
+		{
+			if(lastwidth != plugin.getWidth()-offset)
+				refreshPluginPanel(gui);
+			super.paint(g);
+		}
+	}
+	private MyBox pluginPanel = new MyBox();
 	private PreferenceDialog gui;
 
@@ -209,4 +232,5 @@
 		pluginMap = new HashMap<PluginDescription, Boolean>();
 		pluginPanel.removeAll();
+		int width = pluginPanel.myGetWidth();
 
 		// the following could probably be done more elegantly?
@@ -246,5 +270,5 @@
 			JLabel label = new JLabel("<html><i>"+(plugin.description==null?tr("no description available"):plugin.description)+"</i></html>");
 			label.setBorder(BorderFactory.createEmptyBorder(0,20,0,0));
-			label.setMaximumSize(new Dimension(450,1000));
+			label.setMaximumSize(new Dimension(width,1000));
 			pluginPanel.add(label);
 			pluginPanel.add(Box.createVerticalStrut(5));
