diff --git a/features/org.eclipse.oomph.gitbash-feature/feature.xml b/features/org.eclipse.oomph.gitbash-feature/feature.xml
index d885201..e8201cb 100644
--- a/features/org.eclipse.oomph.gitbash-feature/feature.xml
+++ b/features/org.eclipse.oomph.gitbash-feature/feature.xml
@@ -12,7 +12,7 @@
 <feature
       id="org.eclipse.oomph.gitbash"
       label="%featureName"
-      version="1.15.0.qualifier"
+      version="1.16.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.oomph.license"
       license-feature-version="0.0.0">
diff --git a/features/org.eclipse.oomph.gitbash-feature/pom.xml b/features/org.eclipse.oomph.gitbash-feature/pom.xml
index 8ce147e..3a7c132 100644
--- a/features/org.eclipse.oomph.gitbash-feature/pom.xml
+++ b/features/org.eclipse.oomph.gitbash-feature/pom.xml
@@ -20,6 +20,6 @@
   </parent>
   <groupId>org.eclipse.oomph.features</groupId>
   <artifactId>org.eclipse.oomph.gitbash</artifactId>
-  <version>1.15.0-SNAPSHOT</version>
+  <version>1.16.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/plugins/org.eclipse.oomph.gitbash/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.gitbash/META-INF/MANIFEST.MF
index 03c4956..fcd4b89 100644
--- a/plugins/org.eclipse.oomph.gitbash/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.gitbash/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.oomph.gitbash;singleton:=true
-Bundle-Version: 1.14.0.qualifier
+Bundle-Version: 1.15.0.qualifier
 Bundle-Name: %pluginName
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -17,11 +17,11 @@
  org.eclipse.egit.ui;bundle-version="[2.0.0,6.0.0)",
  org.eclipse.mylyn.tasks.core;bundle-version="[3.3.0,4.0.0)";resolution:=optional,
  org.eclipse.mylyn.tasks.ui;bundle-version="[3.3.0,4.0.0)";resolution:=optional,
- org.eclipse.oomph.util;bundle-version="[1.15.0,2.0.0)"
+ org.eclipse.oomph.util;bundle-version="[1.16.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.oomph.gitbash;version="1.14.0";x-internal:=true,
- org.eclipse.oomph.gitbash.decorators;version="1.14.0";x-internal:=true,
- org.eclipse.oomph.gitbash.repository;version="1.14.0";x-internal:=true,
- org.eclipse.oomph.gitbash.revision;version="1.14.0";x-internal:=true
+Export-Package: org.eclipse.oomph.gitbash;version="1.15.0";x-internal:=true,
+ org.eclipse.oomph.gitbash.decorators;version="1.15.0";x-internal:=true,
+ org.eclipse.oomph.gitbash.repository;version="1.15.0";x-internal:=true,
+ org.eclipse.oomph.gitbash.revision;version="1.15.0";x-internal:=true
 Automatic-Module-Name: org.eclipse.oomph.gitbash
diff --git a/plugins/org.eclipse.oomph.gitbash/pom.xml b/plugins/org.eclipse.oomph.gitbash/pom.xml
index 867f944..8fa24fb 100644
--- a/plugins/org.eclipse.oomph.gitbash/pom.xml
+++ b/plugins/org.eclipse.oomph.gitbash/pom.xml
@@ -20,7 +20,7 @@
   </parent>
   <groupId>org.eclipse.oomph</groupId>
   <artifactId>org.eclipse.oomph.gitbash</artifactId>
-  <version>1.14.0-SNAPSHOT</version>
+  <version>1.15.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <build>
diff --git a/plugins/org.eclipse.oomph.gitbash/src/org/eclipse/oomph/gitbash/GitApplyAction.java b/plugins/org.eclipse.oomph.gitbash/src/org/eclipse/oomph/gitbash/GitApplyAction.java
index f0daa04..7ffe3a0 100644
--- a/plugins/org.eclipse.oomph.gitbash/src/org/eclipse/oomph/gitbash/GitApplyAction.java
+++ b/plugins/org.eclipse.oomph.gitbash/src/org/eclipse/oomph/gitbash/GitApplyAction.java
@@ -148,7 +148,7 @@
   @SuppressWarnings("all")
   private Repository[] getRepositories()
   {
-    return org.eclipse.egit.core.Activator.getDefault().getRepositoryCache().getAllRepositories();
+    return org.eclipse.egit.core.RepositoryCache.getInstance().getAllRepositories();
   }
 
   /**
diff --git a/plugins/org.eclipse.oomph.gitbash/src/org/eclipse/oomph/gitbash/repository/FixCRLFAction.java b/plugins/org.eclipse.oomph.gitbash/src/org/eclipse/oomph/gitbash/repository/FixCRLFAction.java
index a13c5f3..5580066 100644
--- a/plugins/org.eclipse.oomph.gitbash/src/org/eclipse/oomph/gitbash/repository/FixCRLFAction.java
+++ b/plugins/org.eclipse.oomph.gitbash/src/org/eclipse/oomph/gitbash/repository/FixCRLFAction.java
@@ -145,7 +145,7 @@
       if (targetRepository != null)
       {
         log("Adding to repository view " + targetRepository.getWorkTree());
-        org.eclipse.egit.core.RepositoryUtil repositoryUtil = org.eclipse.egit.ui.Activator.getDefault().getRepositoryUtil();
+        org.eclipse.egit.core.RepositoryUtil repositoryUtil = org.eclipse.egit.core.RepositoryUtil.getInstance();
         repositoryUtil.addConfiguredRepository(targetRepository.getDirectory());
         targetRepository.close();
       }
