diff --git a/org.eclipse.jgit.test/tst/org/spearce/jgit/lib/RepositoryConfigTest.java b/org.eclipse.jgit.test/tst/org/spearce/jgit/lib/RepositoryConfigTest.java
index da7e704..34ce04a 100644
--- a/org.eclipse.jgit.test/tst/org/spearce/jgit/lib/RepositoryConfigTest.java
+++ b/org.eclipse.jgit.test/tst/org/spearce/jgit/lib/RepositoryConfigTest.java
@@ -109,4 +109,11 @@ assertTrue(Arrays.equals(values.toArray(), repositoryConfig
        .getStringList("my", null, "somename")));
    checkFile(cfgFile, "[my]\n\tsomename = value1\n\tsomename = value2\n");
  }
+
+ public void test006_readCaseInsensitive() throws IOException {
+   final File path = writeTrashFile("config_001", "[Foo]\nBar\n");
+   RepositoryConfig repositoryConfig = new RepositoryConfig(null, path);
+   assertEquals(true, repositoryConfig.getBoolean("foo", null, "bar", false));
+   assertEquals("", repositoryConfig.getString("foo", null, "bar"));
+ }
 }
I AM NOT HERE
diff --git a/org.eclipse.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java b/org.eclipse.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java
index 45c2f8a..3291bba 100644
--- a/org.eclipse.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java
+++ b/org.eclipse.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java
@@ -236,9 +236,9 @@ protected boolean getBoolean(final String section, String subsection,
      return defaultValue;
 
    n = n.toLowerCase();
-   if (MAGIC_EMPTY_VALUE.equals(n) || "yes".equals(n) || "true".equals(n) || "1".equals(n)) {
+   if (MAGIC_EMPTY_VALUE.equals(n) || "yes".equalsIgnoreCase(n) || "true".equalsIgnoreCase(n) || "1".equals(n)) {
      return true;
-   } else if ("no".equals(n) || "false".equals(n) || "0".equals(n)) {
+   } else if ("no".equalsIgnoreCase(n) || "false".equalsIgnoreCase(n) || "0".equalsIgnoreCase(n)) {
      return false;
    } else {
      throw new IllegalArgumentException("Invalid boolean value: "
