diff --git a/hlint.cabal b/hlint.cabal
--- a/hlint.cabal
+++ b/hlint.cabal
@@ -1,7 +1,7 @@
 cabal-version:      >= 1.6
 build-type:         Simple
 name:               hlint
-version:            1.8.30
+version:            1.8.31
 -- license is GPL v2 only
 license:            GPL
 license-file:       LICENSE
diff --git a/src/HSE/Util.hs b/src/HSE/Util.hs
--- a/src/HSE/Util.hs
+++ b/src/HSE/Util.hs
@@ -67,7 +67,8 @@
 fromTyParen (TyParen _ x) = fromTyParen x
 fromTyParen x = x
 
--- is* :: Exp -> Bool
+-- is* :: Exp_ -> Bool
+-- is* :: Decl_ -> Bool
 isVar Var{} = True; isVar _ = False
 isApp App{} = True; isApp _ = False
 isInfixApp InfixApp{} = True; isInfixApp _ = False
@@ -89,6 +90,7 @@
 isParComp ParComp{} = True; isParComp _ = False
 isPatTypeSig PatTypeSig{} = True; isPatTypeSig _ = False
 isQuasiQuote QuasiQuote{} = True; isQuasiQuote _ = False
+isSpliceDecl SpliceDecl{} = True; isSpliceDecl _ = False
 
 isSection LeftSection{} = True
 isSection RightSection{} = True
diff --git a/src/Hint/Extensions.hs b/src/Hint/Extensions.hs
--- a/src/Hint/Extensions.hs
+++ b/src/Hint/Extensions.hs
@@ -29,6 +29,8 @@
 record = 1 --
 {-# LANGUAGE UnboxedTuples #-} \
 record = 1 --
+{-# LANGUAGE TemplateHaskell #-} \
+foo
 </TEST>
 -}
 
@@ -76,7 +78,7 @@
           f _ = False
 used KindSignatures = hasT (un :: Kind S)
 used BangPatterns = hasS isPBangPat
-used TemplateHaskell = hasT2 (un :: (Bracket S, Splice S)) & hasS f
+used TemplateHaskell = hasT2 (un :: (Bracket S, Splice S)) & hasS f & hasS isSpliceDecl
     where f VarQuote{} = True
           f TypQuote{} = True
           f _ = False
diff --git a/src/Settings.hs b/src/Settings.hs
--- a/src/Settings.hs
+++ b/src/Settings.hs
@@ -115,6 +115,7 @@
                     Nothing -> errorOn o "bad classify pragma"
                     Just severity -> Just $ Classify severity (ltrim b) ("",name)
             where (a,b) = break isSpace $ ltrim $ drop 6 s
+        g _ _ = Nothing
 readPragma _ = Nothing
 
 
