diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java
index a50132bc632f1a19b4001ac100b9726d3bb8a4f0..bbc5cc2a6afd07a9ec26c16152e833b5f5bd51cc 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java
@@ -215,15 +215,11 @@ public Repository(final File d, final File workTree, final File objectDir,
 		}
 
 		if (workDir == null) {
-			if (d != null) {
-				// Only read core.worktree if GIT_DIR is set explicitly. See
-				// git-config(1).
-				String workTreeConfig = getConfig().getString("core", null, "worktree");
-				if (workTreeConfig != null) {
-					workDir = FS.resolve(d, workTreeConfig);
-				} else {
-					workDir = gitDir.getParentFile();
-				}
+			String workTreeConfig = getConfig().getString("core", null, "worktree");
+			if (workTreeConfig != null) {
+				workDir = FS.resolve(d, workTreeConfig);
+			} else {
+				workDir = gitDir.getParentFile();
 			}
 		}