diff --git a/.hlint.yaml b/.hlint.yaml
index ea61bf907d7fb29be6909e339c9e2644ed9f0c47..4a0c8ddc7c6db2b378907a02d9ff85c88951a00f 100644
--- a/.hlint.yaml
+++ b/.hlint.yaml
@@ -20,7 +20,6 @@
 - ignore: {name: "Redundant return"} # 1 hint
 - ignore: {name: "Replace case with fromMaybe"} # 2 hints
 - ignore: {name: "Replace case with maybe"} # 4 hints
-- ignore: {name: "Unused LANGUAGE pragma"} # 11 hints
 - ignore: {name: "Use $>"} # 4 hints
 - ignore: {name: "Use ++"} # 3 hints
 - ignore: {name: "Use :"} # 4 hints
@@ -58,6 +57,9 @@
 - ignore: {name: "Use tuple-section"} # 3 hints
 - ignore: {name: "Use unless"} # 1 hint
 - ignore: {name: "Use void"} # 1 hint
+# Ignore within modules where following hlint or adding an HLint annotation
+# would alter the expected test output.
+- ignore: {name: "Unused LANGUAGE pragma", within: [QuasiExpr, TH, Ticket112]}
 # Module names (not all unique) where CPP can be used
 - extensions:
   - name: CPP
diff --git a/haddock-api/src/Haddock.hs b/haddock-api/src/Haddock.hs
index 664168f198b3d80e2c59993024d9d3f7e07233be..7eba7b92451963bfc42c2484636f0260df5296a5 100644
--- a/haddock-api/src/Haddock.hs
+++ b/haddock-api/src/Haddock.hs
@@ -4,7 +4,6 @@
 {-# LANGUAGE OverloadedStrings   #-}
 {-# LANGUAGE Rank2Types          #-}
 {-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE TupleSections       #-}
 {-# OPTIONS_GHC -Wwarn           #-}
 -----------------------------------------------------------------------------
 -- |
diff --git a/hoogle-test/src/Bug806/Bug806.hs b/hoogle-test/src/Bug806/Bug806.hs
index 6deb98c1e9306dfcb39738431273407a64c221e3..f2a9a0992e4303016e7514cd3ef107ed7fca4c98 100644
--- a/hoogle-test/src/Bug806/Bug806.hs
+++ b/hoogle-test/src/Bug806/Bug806.hs
@@ -1,5 +1,4 @@
 {-# LANGUAGE Haskell2010 #-}
-{-# LANGUAGE KindSignatures #-}
 {-# LANGUAGE TypeFamilies #-}
 {-# LANGUAGE UndecidableInstances #-}
 module Bug806 where
diff --git a/html-test/src/BundledPatterns2.hs b/html-test/src/BundledPatterns2.hs
index c4123535581361506fbb4fefba8f00dbae64edea..6f1b61f52578e1e998cf48229bca3528c77e4ee4 100644
--- a/html-test/src/BundledPatterns2.hs
+++ b/html-test/src/BundledPatterns2.hs
@@ -1,6 +1,5 @@
 {-# LANGUAGE Haskell2010 #-}
-{-# LANGUAGE DataKinds, GADTs, KindSignatures, PatternSynonyms, TypeOperators,
-             ViewPatterns #-}
+{-# LANGUAGE DataKinds, GADTs, KindSignatures, PatternSynonyms #-}
 module BundledPatterns2 (Vec((:>), Empty), RTree(..)) where
 
 import GHC.TypeLits
diff --git a/html-test/src/DefaultAssociatedTypes.hs b/html-test/src/DefaultAssociatedTypes.hs
index 340742d363ad354ae54c4d4a2a06b4d01a9e908c..68a587efcd433049ce4b0013a4cc5d25f0f26e25 100644
--- a/html-test/src/DefaultAssociatedTypes.hs
+++ b/html-test/src/DefaultAssociatedTypes.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE Haskell2010 #-}
-{-# LANGUAGE DefaultSignatures, TypeFamilies #-}
+{-# LANGUAGE TypeFamilies #-}
 
 module DefaultAssociatedTypes where
 
diff --git a/html-test/src/GadtConstructorArgs.hs b/html-test/src/GadtConstructorArgs.hs
index 6d742bd7e2504ae2c4d1984e331c67f5becb6a4f..50ff93cc22939816b449412a2eacb8bab27c4f19 100644
--- a/html-test/src/GadtConstructorArgs.hs
+++ b/html-test/src/GadtConstructorArgs.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE Haskell2010 #-}
-{-# LANGUAGE GADTs, PatternSynonyms #-}
+{-# LANGUAGE GADTs #-}
 
 module GadtConstructorArgs (Boo(..)) where
 
diff --git a/html-test/src/Operators.hs b/html-test/src/Operators.hs
index c303c8bd06bf296948a621bdf21672a7fcbf6535..1d938ba6ecdd50cf4c24f0a0f086d65013d3e5e5 100644
--- a/html-test/src/Operators.hs
+++ b/html-test/src/Operators.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE Haskell2010 #-}
-{-# LANGUAGE PatternSynonyms, TypeOperators, TypeFamilies, MultiParamTypeClasses, GADTs #-}
+{-# LANGUAGE PatternSynonyms, TypeOperators, TypeFamilies, GADTs #-}
 {-# LANGUAGE FunctionalDependencies #-}
 
 -- | Test operators with or without fixity declarations
diff --git a/html-test/src/QuasiQuote.hs b/html-test/src/QuasiQuote.hs
index fe900eb8256da4f10258ef5c10f6624ff1b0df8e..6cc928cd01f7dff01f09395be691c71b0e4b80e9 100644
--- a/html-test/src/QuasiQuote.hs
+++ b/html-test/src/QuasiQuote.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE Haskell2010 #-}
-{-# LANGUAGE TemplateHaskell, QuasiQuotes #-}
+{-# LANGUAGE QuasiQuotes #-}
 
 -- example taken from the GHC documentation
 module QuasiQuote where
diff --git a/latex-test/src/GadtConstructorArgs/GadtConstructorArgs.hs b/latex-test/src/GadtConstructorArgs/GadtConstructorArgs.hs
index 6d742bd7e2504ae2c4d1984e331c67f5becb6a4f..50ff93cc22939816b449412a2eacb8bab27c4f19 100644
--- a/latex-test/src/GadtConstructorArgs/GadtConstructorArgs.hs
+++ b/latex-test/src/GadtConstructorArgs/GadtConstructorArgs.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE Haskell2010 #-}
-{-# LANGUAGE GADTs, PatternSynonyms #-}
+{-# LANGUAGE GADTs #-}
 
 module GadtConstructorArgs (Boo(..)) where