diff --git a/org.eclipse.mylyn.git.ui/META-INF/MANIFEST.MF b/org.eclipse.mylyn.git.ui/META-INF/MANIFEST.MF
index abf25d9..e71e4e0 100644
--- a/org.eclipse.mylyn.git.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.mylyn.git.ui/META-INF/MANIFEST.MF
@@ -15,7 +15,8 @@
  org.eclipse.egit.core,
  org.eclipse.egit.ui,
  org.eclipse.mylyn.git.core,
- org.eclipse.jgit
+ org.eclipse.jgit,
+ org.apache.commons.lang;bundle-version="2.6.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Bundle-Localization: plugin
diff --git a/org.eclipse.mylyn.git.ui/src/org/eclipse/mylyn/internal/git/ui/connector/GitConnectorUi.java b/org.eclipse.mylyn.git.ui/src/org/eclipse/mylyn/internal/git/ui/connector/GitConnectorUi.java
index 6866ef9..9abf074 100644
--- a/org.eclipse.mylyn.git.ui/src/org/eclipse/mylyn/internal/git/ui/connector/GitConnectorUi.java
+++ b/org.eclipse.mylyn.git.ui/src/org/eclipse/mylyn/internal/git/ui/connector/GitConnectorUi.java
@@ -11,9 +11,14 @@
  *******************************************************************************/
 package org.eclipse.mylyn.internal.git.ui.connector;
 
+import java.lang.reflect.InvocationTargetException;
+
+import org.apache.commons.lang.reflect.MethodUtils;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.Assert;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.egit.core.GitProvider;
 import org.eclipse.egit.ui.internal.commit.CommitEditor;
 import org.eclipse.egit.ui.internal.commit.RepositoryCommit;
@@ -22,6 +27,7 @@
 import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.revwalk.RevCommit;
 import org.eclipse.jgit.revwalk.RevWalk;
+import org.eclipse.mylyn.commons.core.StatusHandler;
 import org.eclipse.mylyn.internal.git.core.GitRepository;
 import org.eclipse.mylyn.internal.git.ui.GetChangeSetDialog;
 import org.eclipse.mylyn.versions.core.ChangeSet;
@@ -80,7 +86,19 @@
 			return null;
 		} finally {
 			if (revWalk != null) {
-				revWalk.release();
+				release(revWalk);
+			}
+		}
+	}
+
+	private void release(RevWalk revWalk) {
+		try {
+			MethodUtils.invokeMethod(revWalk, "release", null); //$NON-NLS-1$
+		} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
+			try {
+				MethodUtils.invokeMethod(revWalk, "close", null); //$NON-NLS-1$
+			} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e1) {
+				StatusHandler.log(new Status(IStatus.ERROR, ID_PLUGIN, "Failed to release revWalk " + revWalk, e1)); //$NON-NLS-1$
 			}
 		}
 	}
