Index: /trunk/src/org/openstreetmap/josm/actions/PreferencesAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/PreferencesAction.java	(revision 1041)
+++ /trunk/src/org/openstreetmap/josm/actions/PreferencesAction.java	(revision 1042)
@@ -4,4 +4,5 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.awt.Dimension;
 import java.awt.GridBagLayout;
 import java.awt.event.ActionEvent;
@@ -37,4 +38,5 @@
 	public void actionPerformed(ActionEvent e) {
 		PreferenceDialog prefDlg = new PreferenceDialog();
+		prefDlg.setMinimumSize(new Dimension(300,200));
 		JPanel prefPanel = new JPanel(new GridBagLayout());
 		prefPanel.add(prefDlg, GBC.eol().fill(GBC.BOTH));
@@ -43,4 +45,5 @@
 		JDialog dlg = pane.createDialog(Main.parent, tr("Preferences"));
 		dlg.setResizable(true);
+		dlg.setMinimumSize(new Dimension(400,300));
 
 //		if (dlg.getWidth() > 600)
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java	(revision 1041)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java	(revision 1042)
@@ -16,4 +16,5 @@
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
+import javax.swing.JScrollPane;
 import javax.swing.JTabbedPane;
 
@@ -60,5 +61,6 @@
 		p.add(descLabel, GBC.eol().insets(5,0,5,20).fill(GBC.HORIZONTAL));
 
-		addTab(null, ImageProvider.get("preferences", icon), p);
+        JScrollPane sp = new JScrollPane(p);
+		addTab(null, ImageProvider.get("preferences", icon), sp);
 		setToolTipTextAt(getTabCount()-1, "<html>"+desc+"</html>");
 		return p;
