diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for auto-split
 
+## 0.1.0.3 -- 2025-03-04
+
+* Remove unnecessary parens for lambda case patterns
+
 ## 0.1.0.2 -- 2025-02-13
 
 * Minor improvements to the readme
diff --git a/auto-split.cabal b/auto-split.cabal
--- a/auto-split.cabal
+++ b/auto-split.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               auto-split
-version:            0.1.0.2
+version:            0.1.0.3
 synopsis: Case splitting plugin
 description: A GHC plugin that performs automatic case splitting
 license:            BSD-3-Clause
diff --git a/src/AutoSplit.hs b/src/AutoSplit.hs
--- a/src/AutoSplit.hs
+++ b/src/AutoSplit.hs
@@ -54,12 +54,12 @@
       let isMissingPatWarn msgEnv =
             case Ghc.errMsgDiagnostic msgEnv of
               Ghc.GhcDsMessage (Ghc.DsNonExhaustivePatterns _ _ _ patIds nablas)
-                | Just srcSpan <- Ghc.srcSpanToRealSrcSpan (Ghc.errMsgSpan msgEnv) -> Left
-                NonExhaustivePattern
-                  { patternIds = patIds
-                  , patternNablas = nablas
-                  , srcCodeLoc = srcSpan
-                  }
+                | Just srcSpan <- Ghc.srcSpanToRealSrcSpan (Ghc.errMsgSpan msgEnv) ->
+                    Left NonExhaustivePatterns
+                      { patternIds = patIds
+                      , patternNablas = nablas
+                      , srcCodeLoc = srcSpan
+                      }
               _ -> Right msgEnv
           isAutoSplitError msgEnv =
             case Ghc.errMsgDiagnostic msgEnv of
@@ -147,7 +147,7 @@
   :: Ghc.GlobalRdrEnv
   -> Ghc.ParsedSource
   -> Bool
-  -> Ghc.Bag NonExhaustivePattern
+  -> Ghc.Bag NonExhaustivePatterns
   -> FilePath
   -> IO ()
 modifyModule gblRdrEnv parsedMod usesCpp missingPatWarns filePath = do
@@ -209,7 +209,7 @@
   defaultDiagnosticOpts = Ghc.NoDiagnosticOpts
 #endif
 
-data NonExhaustivePattern = NonExhaustivePattern
+data NonExhaustivePatterns = NonExhaustivePatterns
   { patternIds :: [Ghc.Id]
   , patternNablas :: [Ghc.Nabla]
   , srcCodeLoc :: Ghc.RealSrcSpan
@@ -221,7 +221,7 @@
 -- are removed by delta transformation.
 -- Problematic if delta moves comments to a different node, hopefully it won't.
 searchAndMark
-  :: [NonExhaustivePattern]
+  :: [NonExhaustivePatterns]
   -> Ghc.ParsedSource
   -> Ghc.ParsedSource
 searchAndMark nePats =
@@ -273,7 +273,7 @@
 -- Applied post delta transformation.
 splitPattern
   :: Ghc.GlobalRdrEnv
-  -> [NonExhaustivePattern]
+  -> [NonExhaustivePatterns]
   -> Ghc.ParsedSource
   -> (Ghc.ParsedSource, Any)
 splitPattern gblRdrEnv nePats ps =
@@ -310,7 +310,7 @@
     | lamType /= Ghc.LamSingle
     , Just (neIdx, otherComms) <- extractIdxComment (Ghc.comments ann)
     , Just nePat <- nePats List.!? neIdx
-    , Just newMG <- splitMG gblRdrEnv True False (Ghc.colDelta matchesAnn) nePat matchGroup
+    , Just newMG <- splitMG gblRdrEnv (lamType == Ghc.LamCases) False (Ghc.colDelta matchesAnn) nePat matchGroup
     = ( Ghc.L ann {Ghc.comments = otherComms} (Ghc.HsLam x lamType newMG)
       , Any True
       )
@@ -318,7 +318,7 @@
   goExpr (Ghc.L ann (Ghc.HsLamCase x lamType matchGroup@(Ghc.MG _ (Ghc.L matchesAnn _))))
     | Just (neIdx, otherComms) <- extractIdxComment (Ghc.getComments ann)
     , Just nePat <- listToMaybe $ drop neIdx nePats
-    , Just newMG <- splitMG gblRdrEnv True False (Ghc.colDelta matchesAnn) nePat matchGroup
+    , Just newMG <- splitMG gblRdrEnv (lamType == Ghc.LamCases) False (Ghc.colDelta matchesAnn) nePat matchGroup
     = ( Ghc.L (Ghc.setComments otherComms mempty ann) (Ghc.HsLamCase x lamType newMG)
       , Any True
       )
@@ -350,7 +350,7 @@
   -> Bool -- True => match group can have multiple patterns
   -> Bool -- True => add left padding to each new pattern
   -> Int -- Number of horizontal spaces at the front of inserted pattern match
-  -> NonExhaustivePattern
+  -> NonExhaustivePatterns
   -> Ghc.MatchGroup Ghc.GhcPs (Ghc.LHsExpr Ghc.GhcPs)
   -> Maybe (Ghc.MatchGroup Ghc.GhcPs (Ghc.LHsExpr Ghc.GhcPs))
 splitMG gblRdrEnv multiplePats offsetFirstPat colOffset nePat (Ghc.MG x2 (Ghc.L ann2 matches))
@@ -498,12 +498,12 @@
         { Ghc.hpm_module = Ghc.hpm_module resMod <&> \pMod ->
             pMod
               { Ghc.hsmodImports =
-                  caseXImport : Ghc.hsmodImports pMod
+                  patternImport : Ghc.hsmodImports pMod
               }
         }
   }
   where
-    caseXImport = Ghc.noLocA . Ghc.simpleImportDecl $ Ghc.mkModuleName patternModName
+    patternImport = Ghc.noLocA . Ghc.simpleImportDecl $ Ghc.mkModuleName patternModName
 
 -- | The automatically added import gets flagged as unused even if it is used.
 -- The solution here is to simply suppress the warning.
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -34,10 +34,13 @@
     ]
   , testGroup "lambda case"
     [ testCase "1" $ runTest "LambdaCase1.hs"
+    , testCase "2" $ runTest "LambdaCase2.hs"
     ]
   , testGroup "lambda cases"
     [ testCase "1" $ runTest "LambdaCases1.hs"
     , testCase "2" $ runTest "LambdaCases2.hs"
+    , testCase "3" $ runTest "LambdaCases3.hs"
+    , testCase "4" $ runTest "LambdaCases4.hs"
     ]
   , testGroup "fun cases"
     [ testCase "1" $ runTest "Fun1.hs"
