diff --git a/features/org.eclipse.oomph.util-feature/feature.xml b/features/org.eclipse.oomph.util-feature/feature.xml
index 648fb6f..bc89c77 100644
--- a/features/org.eclipse.oomph.util-feature/feature.xml
+++ b/features/org.eclipse.oomph.util-feature/feature.xml
@@ -12,7 +12,7 @@
 <feature
       id="org.eclipse.oomph.util"
       label="%featureName"
-      version="1.12.0.qualifier"
+      version="1.13.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.oomph.license"
       license-feature-version="0.0.0">
diff --git a/features/org.eclipse.oomph.util-feature/pom.xml b/features/org.eclipse.oomph.util-feature/pom.xml
index 99b199a..7d3c931 100644
--- a/features/org.eclipse.oomph.util-feature/pom.xml
+++ b/features/org.eclipse.oomph.util-feature/pom.xml
@@ -20,6 +20,6 @@
   </parent>
   <groupId>org.eclipse.oomph.features</groupId>
   <artifactId>org.eclipse.oomph.util</artifactId>
-  <version>1.12.0-SNAPSHOT</version>
+  <version>1.13.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/plugins/org.eclipse.oomph.p2.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.p2.ui/META-INF/MANIFEST.MF
index 37999e4..6ff1246 100644
--- a/plugins/org.eclipse.oomph.p2.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.p2.ui/META-INF/MANIFEST.MF
@@ -17,7 +17,7 @@
  org.eclipse.equinox.p2.repository;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.equinox.p2.artifact.repository;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.equinox.p2.ui;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.oomph.ui;bundle-version="[1.11.0,2.0.0)",
+ org.eclipse.oomph.ui;bundle-version="[1.12.0,2.0.0)",
  org.eclipse.oomph.p2.core;bundle-version="[1.12.0,2.0.0)";visibility:=reexport,
  org.eclipse.oomph.p2.edit;bundle-version="[1.11.0,2.0.0)";visibility:=reexport,
  org.eclipse.ui;bundle-version="[3.5.0,4.0.0)",
diff --git a/plugins/org.eclipse.oomph.setup.editor/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup.editor/META-INF/MANIFEST.MF
index 154ddb3..96e2270 100644
--- a/plugins/org.eclipse.oomph.setup.editor/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup.editor/META-INF/MANIFEST.MF
@@ -27,7 +27,7 @@
  org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
  org.eclipse.equinox.p2.metadata;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.oomph.ui;bundle-version="[1.11.0,2.0.0)",
+ org.eclipse.oomph.ui;bundle-version="[1.12.0,2.0.0)",
  org.eclipse.ui.ide;bundle-version="[3.5.0,4.0.0)";visibility:=reexport,
  org.eclipse.oomph.base.edit;bundle-version="[1.12.0,2.0.0)";visibility:=reexport,
  org.eclipse.oomph.setup.p2.edit;bundle-version="[1.11.0,2.0.0)",
diff --git a/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF
index 24dab79..2cdc71c 100644
--- a/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF
@@ -22,7 +22,7 @@
  org.eclipse.equinox.p2.metadata.repository;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.equinox.p2.console;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.equinox.p2.engine;bundle-version="[2.2.0,3.0.0)",
- org.eclipse.oomph.ui;bundle-version="[1.11.0,2.0.0)",
+ org.eclipse.oomph.ui;bundle-version="[1.12.0,2.0.0)",
  org.eclipse.oomph.p2.ui;bundle-version="[1.11.0,2.0.0)",
  org.eclipse.oomph.setup.p2;bundle-version="[1.12.0,2.0.0)",
  org.eclipse.oomph.setup.core;bundle-version="[1.14.0,2.0.0)",
diff --git a/plugins/org.eclipse.oomph.setup.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup.ui/META-INF/MANIFEST.MF
index c8ca4be..1993f35 100644
--- a/plugins/org.eclipse.oomph.setup.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup.ui/META-INF/MANIFEST.MF
@@ -30,7 +30,7 @@
  org.eclipse.oomph.setup.edit;bundle-version="[1.14.0,2.0.0)";visibility:=reexport,
  org.eclipse.oomph.setup.p2.edit;bundle-version="[1.11.0,2.0.0)",
  org.eclipse.oomph.setup.sync;bundle-version="[1.10.0,2.0.0)",
- org.eclipse.oomph.ui;bundle-version="[1.11.0,2.0.0)",
+ org.eclipse.oomph.ui;bundle-version="[1.12.0,2.0.0)",
  org.eclipse.oomph.p2.edit;bundle-version="[1.11.0,2.0.0)";visibility:=reexport,
  org.eclipse.oomph.p2.core;bundle-version="[1.12.0,2.0.0)",
  org.eclipse.oomph.p2.ui;bundle-version="[1.11.0,2.0.0)",
diff --git a/plugins/org.eclipse.oomph.setup.ui/src/org/eclipse/oomph/setup/ui/wizards/MarketPlaceListingProcessor.java b/plugins/org.eclipse.oomph.setup.ui/src/org/eclipse/oomph/setup/ui/wizards/MarketPlaceListingProcessor.java
index 8f038a2..d1725ff 100644
--- a/plugins/org.eclipse.oomph.setup.ui/src/org/eclipse/oomph/setup/ui/wizards/MarketPlaceListingProcessor.java
+++ b/plugins/org.eclipse.oomph.setup.ui/src/org/eclipse/oomph/setup/ui/wizards/MarketPlaceListingProcessor.java
@@ -273,7 +273,7 @@
 
         hasOptionalFeatures = requiredRequirements.size() < requirements.size();
 
-        requirementsViewer = CheckboxTableViewer.newCheckList(parent, SWT.MULTI);
+        requirementsViewer = CheckboxTableViewer.newCheckList(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
         requirementsViewer.getTable().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
         final Font tableFont = requirementsViewer.getTable().getFont();
         final Font boldFont = ExtendedFontRegistry.INSTANCE.getFont(tableFont, IItemFontProvider.BOLD_FONT);
diff --git a/plugins/org.eclipse.oomph.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.ui/META-INF/MANIFEST.MF
index fd512c1..407aed8 100644
--- a/plugins/org.eclipse.oomph.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.ui/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.oomph.ui;singleton:=true
-Bundle-Version: 1.11.0.qualifier
+Bundle-Version: 1.12.0.qualifier
 Bundle-Name: %pluginName
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -15,11 +15,11 @@
  org.eclipse.core.filebuffers;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.jface.text;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.ui;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.oomph.base.edit;bundle-version="[1.11.0,2.0.0)";visibility:=reexport,
+ org.eclipse.oomph.base.edit;bundle-version="[1.12.0,2.0.0)";visibility:=reexport,
  org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore.xmi;bundle-version="[2.10.0,3.0.0)",
  org.eclipse.ui.workbench.texteditor;bundle-version="[3.5.0,4.0.0)";resolution:=optional
-Export-Package: org.eclipse.oomph.internal.ui;version="1.11.0";x-internal:=true,
- org.eclipse.oomph.ui;version="1.11.0";x-internal:=true
+Export-Package: org.eclipse.oomph.internal.ui;version="1.12.0";x-internal:=true,
+ org.eclipse.oomph.ui;version="1.12.0";x-internal:=true
 Eclipse-BuddyPolicy: dependent
 Automatic-Module-Name: org.eclipse.oomph.ui
diff --git a/plugins/org.eclipse.oomph.ui/pom.xml b/plugins/org.eclipse.oomph.ui/pom.xml
index 0317c0d..4d049d8 100644
--- a/plugins/org.eclipse.oomph.ui/pom.xml
+++ b/plugins/org.eclipse.oomph.ui/pom.xml
@@ -20,7 +20,7 @@
   </parent>
   <groupId>org.eclipse.oomph</groupId>
   <artifactId>org.eclipse.oomph.ui</artifactId>
-  <version>1.11.0-SNAPSHOT</version>
+  <version>1.12.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <build>
