diff --git a/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/SimpleInstallerDialog.java b/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/SimpleInstallerDialog.java
index 7767a1f..1e1872e 100644
--- a/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/SimpleInstallerDialog.java
+++ b/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/SimpleInstallerDialog.java
@@ -507,8 +507,8 @@
         switchCatalogIndexItem.setVisible(switchCatalogVisible);
         if (switchCatalogVisible)
         {
-          switchCatalogIndexItem.setToolTipText(
-              NLS.bind(Messages.SimpleInstallerDialog_SwitchCatalogIndex_message, IndexManager.getUnderlyingLocation(indexLocation)));
+          switchCatalogIndexItem
+              .setToolTipText(NLS.bind(Messages.SimpleInstallerDialog_SwitchCatalogIndex_message, IndexManager.getUnderlyingLocation(indexLocation)));
         }
 
         catalogsMenuItem.setVisible(showProductCatalogsItem);
@@ -1266,7 +1266,8 @@
       int height = gc.getFontMetrics().getHeight();
       int totalWidth = height * x;
       int totalHeight = height * y;
-      return new Point(totalWidth, totalHeight);
+      Rectangle monitorArea = Display.getCurrent().getPrimaryMonitor().getClientArea();
+      return new Point(Math.min(totalWidth, monitorArea.width / 3), Math.min(totalHeight, 2 * monitorArea.height / 3));
     }
     finally
     {
