*** empty log message ***
diff --git a/bundles/org.eclipse.ui/Eclipse JFace/org/eclipse/jface/preference/PreferenceDialog.java b/bundles/org.eclipse.ui/Eclipse JFace/org/eclipse/jface/preference/PreferenceDialog.java
index d32bcdb..ca17296 100644
--- a/bundles/org.eclipse.ui/Eclipse JFace/org/eclipse/jface/preference/PreferenceDialog.java
+++ b/bundles/org.eclipse.ui/Eclipse JFace/org/eclipse/jface/preference/PreferenceDialog.java
@@ -230,6 +230,13 @@
 			}	

 		}

 	});

+	

+	newShell.addShellListener(new ShellAdapter() {

+		public void shellActivated(ShellEvent e) {

+			if (lastShellSize == null)

+				lastShellSize = getShell().getSize();

+		}

+	});

 }

 /*(non-Javadoc)

  * Method declared on Window.

@@ -842,8 +849,8 @@
  * @param height the shell height

  */

 private void setShellSize(int width, int height) {

-	Rectangle bounds = getShell().getDisplay().getBounds();

-	getShell().setSize(Math.min(width, bounds.width), Math.min(height, bounds.height));

+	getShell().setSize(width, height);

+	constrainShellSize();	

 }

 /**

  * Show the new message

@@ -927,7 +934,6 @@
 			hdiff= Math.max(0, hdiff);

 			vdiff= Math.max(0, vdiff);

 			setShellSize(shellSize.x + hdiff, shellSize.y + vdiff);

-			constrainShellSize();

 			lastShellSize = shell.getSize();

 		}

 	}