diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,13 @@
 Brick changelog
 ---------------
 
+0.37.2
+------
+
+Bug fixes:
+ * Theme customization files can now use empty lists for style
+   customization.
+
 0.37.1
 ------
 
diff --git a/brick.cabal b/brick.cabal
--- a/brick.cabal
+++ b/brick.cabal
@@ -1,5 +1,5 @@
 name:                brick
-version:             0.37.1
+version:             0.37.2
 synopsis:            A declarative terminal user interface library
 description:
   Write terminal applications painlessly with 'brick'! You write an
diff --git a/src/Brick/Themes.hs b/src/Brick/Themes.hs
--- a/src/Brick/Themes.hs
+++ b/src/Brick/Themes.hs
@@ -235,8 +235,9 @@
 
 parseStyle :: T.Text -> Either String Style
 parseStyle s =
-    let lookupStyle n = case lookup n normalizedStyles of
-            Just sty -> Right sty
+    let lookupStyle "" = Right Nothing
+        lookupStyle n = case lookup n normalizedStyles of
+            Just sty -> Right $ Just sty
             Nothing  -> Left $ T.unpack $ "Invalid style: " <> n
         stripped = T.strip $ T.toLower s
         normalize (n, a) = (T.toLower n, a)
@@ -246,11 +247,15 @@
         unbracketed = T.tail $ T.init stripped
         parseStyleList = do
             ss <- mapM lookupStyle $ T.strip <$> T.splitOn "," unbracketed
-            return $ foldr (.|.) 0 ss
+            return $ foldr (.|.) 0 $ catMaybes ss
 
     in if bracketed
        then parseStyleList
-       else lookupStyle stripped
+       else do
+           result <- lookupStyle stripped
+           case result of
+               Nothing -> Left $ "Invalid style: " <> show stripped
+               Just sty -> Right sty
 
 themeParser :: Theme -> IniParser (Maybe CustomAttr, M.Map AttrName CustomAttr)
 themeParser t = do
