diff --git a/Lib/ConfigParser.py b/Lib/ConfigParser.py
index 94179da..cabbbdc 100644
--- a/Lib/ConfigParser.py
+++ b/Lib/ConfigParser.py
@@ -330,6 +330,7 @@
         elif not self.has_section(section):
             return 0
         else:
+            option = self.optionxform(option)
             return self.__sections[section].has_key(option)
 
     def set(self, section, option, value):
@@ -341,6 +342,7 @@
                 sectdict = self.__sections[section]
             except KeyError:
                 raise NoSectionError(section)
+        option = self.optionxform(option)
         sectdict[option] = value
 
     def write(self, fp):
@@ -368,6 +370,7 @@
                 sectdict = self.__sections[section]
             except KeyError:
                 raise NoSectionError(section)
+        option = self.optionxform(option)
         existed = sectdict.has_key(option)
         if existed:
             del sectdict[option]
diff --git a/Lib/test/output/test_cfgparser b/Lib/test/output/test_cfgparser
index eb16536..61dcedf 100644
--- a/Lib/test/output/test_cfgparser
+++ b/Lib/test/output/test_cfgparser
@@ -1,5 +1,6 @@
 test_cfgparser
 Testing basic accessors...
+Testing case sensitivity...
 Testing value interpolation...
 Testing parse errors...
 Testing query interface...
diff --git a/Lib/test/test_cfgparser.py b/Lib/test/test_cfgparser.py
index e9d4ee5..62395a0 100644
--- a/Lib/test/test_cfgparser.py
+++ b/Lib/test/test_cfgparser.py
@@ -48,6 +48,29 @@
             " that never existed")
 
 
+def case_sensitivity():
+    print "Testing case sensitivity..."
+    cf = ConfigParser.ConfigParser()
+    cf.add_section("A")
+    cf.add_section("a")
+    L = cf.sections()
+    L.sort()
+    verify(L == ["A", "a"])
+    cf.set("a", "B", "value")
+    verify(cf.options("a") == ["b"])
+    verify(cf.get("a", "b", raw=1) == "value",
+           "could not locate option, expecting case-insensitive option names")
+    verify(cf.has_option("a", "b"))
+    cf.set("A", "A-B", "A-B value")
+    for opt in ("a-b", "A-b", "a-B", "A-B"):
+        verify(cf.has_option("A", opt),
+               "has_option() returned false for option which should exist")
+    verify(cf.options("A") == ["a-b"])
+    verify(cf.options("a") == ["b"])
+    cf.remove_option("a", "B")
+    verify(cf.options("a") == [])
+
+
 def interpolation(src):
     print "Testing value interpolation..."
     cf = ConfigParser.ConfigParser({"getname": "%(__name__)s"})
@@ -149,6 +172,7 @@
 foo[en]=English
 foo[de]=Deutsch
 """)
+case_sensitivity()
 interpolation(r"""
 [Foo]
 bar=something %(with1)s interpolation (1 step)
