diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # ChangeLog for `html-conduit`
 
+## 1.3.2.2
+
+* Fix handling of mixed case void tags [#167](https://github.com/snoyberg/xml/issues/167)
+
 ## 1.3.2.1
 
 * Allow xml-conduit 1.9
diff --git a/html-conduit.cabal b/html-conduit.cabal
--- a/html-conduit.cabal
+++ b/html-conduit.cabal
@@ -1,5 +1,5 @@
 Name:                html-conduit
-Version:             1.3.2.1
+Version:             1.3.2.2
 Synopsis:            Parse HTML documents using xml-conduit datatypes.
 Description:         This package uses tagstream-conduit for its parser. It automatically balances mismatched tags, so that there shouldn't be any parse failures. It does not handle a full HTML document rendering, such as adding missing html and head tags. Note that, since version 1.3.1, it uses an inlined copy of tagstream-conduit with entity decoding bugfixes applied.
 Homepage:            https://github.com/snoyberg/xml
@@ -10,9 +10,10 @@
 Category:            Web, Text, Conduit
 Build-type:          Simple
 Extra-source-files:  test/main.hs README.md ChangeLog.md LICENSE-tagstream-conduit
-Cabal-version:       >=1.8
+Cabal-version:       >=1.10
 
 Library
+  default-language:    Haskell2010
   Exposed-modules:     Text.HTML.DOM
   other-modules:       Text.HTML.TagStream
   hs-source-dirs:      src
@@ -31,6 +32,7 @@
                      , conduit-extra
 
 test-suite test
+    default-language:    Haskell2010
     type: exitcode-stdio-1.0
     main-is: main.hs
     hs-source-dirs: test
diff --git a/src/Text/HTML/DOM.hs b/src/Text/HTML/DOM.hs
--- a/src/Text/HTML/DOM.hs
+++ b/src/Text/HTML/DOM.hs
@@ -77,7 +77,10 @@
     toName l = XT.Name l Nothing Nothing
     closeStack = mapM_ (yield . XT.EventEndElement)
 
-    isVoid = flip Set.member $ Set.fromList
+    isVoid name = Set.member (T.toLower name) voidSet
+
+voidSet :: Set.Set T.Text
+voidSet = Set.fromList
         [ "area"
         , "base"
         , "br"
diff --git a/test/main.hs b/test/main.hs
--- a/test/main.hs
+++ b/test/main.hs
@@ -97,6 +97,23 @@
                         ]
                     ]
              in H.parseLBS html @?= doc
+        it "Mixed case br #167" $
+            let html = "<html><head><title>foo</title></head><body><bR><p>Hello World</p><BR>done</body></html>"
+                doc = X.Document (X.Prologue [] Nothing []) root []
+                root = X.Element "html" Map.empty
+                    [ X.NodeElement $ X.Element "head" Map.empty
+                        [ X.NodeElement $ X.Element "title" Map.empty
+                            [X.NodeContent "foo"]
+                        ]
+                    , X.NodeElement $ X.Element "body" Map.empty
+                        [ X.NodeElement $ X.Element "bR" Map.empty []
+                        , X.NodeElement $ X.Element "p" Map.empty
+                            [X.NodeContent "Hello World"]
+                        , X.NodeElement $ X.Element "BR" Map.empty []
+                        , X.NodeContent "done"
+                        ]
+                    ]
+             in H.parseLBS html @?= doc
 
     it "doesn't double unescape" $
         let html = "<p>Hello &amp;gt; World</p>"
