diff --git a/compiler/GHC/Parser.y b/compiler/GHC/Parser.y
index e4b6661b0220d3ed640b191c095a925e1dfc66f5..7ec7637d1f7ebc52dad794fe785a9fb43f7791d8 100644
--- a/compiler/GHC/Parser.y
+++ b/compiler/GHC/Parser.y
@@ -2900,10 +2900,10 @@ aexp    :: { ECP }
                             [mj AnnLam $1] }
         | '\\' 'lcase' altslist(pats1)
             {  ECP $ $3 >>= \ $3 ->
-                 mkHsLamPV (comb2 $1 $>) LamCase $3 [mj AnnLam $1,mj AnnCase $2] }
+                 mkHsLamPV (comb3 $1 $2 $>) LamCase $3 [mj AnnLam $1,mj AnnCase $2] }
         | '\\' 'lcases' altslist(argpats)
             {  ECP $ $3 >>= \ $3 ->
-                 mkHsLamPV (comb2 $1 $>) LamCases $3 [mj AnnLam $1,mj AnnCases $2] }
+                 mkHsLamPV (comb3 $1 $2 $>) LamCases $3 [mj AnnLam $1,mj AnnCases $2] }
         | 'if' exp optSemi 'then' exp optSemi 'else' exp
                          {% runPV (unECP $2) >>= \ ($2 :: LHsExpr GhcPs) ->
                             return $ ECP $
diff --git a/testsuite/tests/printer/Makefile b/testsuite/tests/printer/Makefile
index a3eec1754735a8703767b591ff5f81e773bf571a..9d8c735308c3d82e33f45cbf84d78fbe885154d3 100644
--- a/testsuite/tests/printer/Makefile
+++ b/testsuite/tests/printer/Makefile
@@ -837,6 +837,11 @@ MatchPatComments:
 	$(CHECK_PPR)   $(LIBDIR) MatchPatComments.hs
 	$(CHECK_EXACT) $(LIBDIR) MatchPatComments.hs
 
+.PHONY: Test24748
+Test24748:
+	$(CHECK_PPR)   $(LIBDIR) Test24748.hs
+	$(CHECK_EXACT) $(LIBDIR) Test24748.hs
+
 .PHONY: DataDeclShort
 DataDeclShort:
 	$(CHECK_PPR)   $(LIBDIR) DataDeclShort.hs
diff --git a/testsuite/tests/printer/Test24748.hs b/testsuite/tests/printer/Test24748.hs
new file mode 100644
index 0000000000000000000000000000000000000000..a4bb3c297d44c3bc9ce29b20219b19a43c4b40d7
--- /dev/null
+++ b/testsuite/tests/printer/Test24748.hs
@@ -0,0 +1,8 @@
+{-# LANGUAGE LambdaCase #-}
+module Test24748 where
+
+instance SDecide Nat where
+  SZero %~ (SSucc _) = Disproved (\case)
+
+foo = (\case)
+bar = (\cases)
diff --git a/testsuite/tests/printer/all.T b/testsuite/tests/printer/all.T
index bd546b0ae109a0cd174de1a8eee5aab63bdf3078..da192356745b0ad9321ffdff7f1a6f77477b6f53 100644
--- a/testsuite/tests/printer/all.T
+++ b/testsuite/tests/printer/all.T
@@ -200,4 +200,5 @@ test('Test24533', [ignore_stderr, req_ppr_deps], makefile_test, ['Test24533'])
 test('PprLetIn', [ignore_stderr, req_ppr_deps], makefile_test, ['PprLetIn'])
 test('CaseAltComments', [ignore_stderr, req_ppr_deps], makefile_test, ['CaseAltComments'])
 test('MatchPatComments', [ignore_stderr, req_ppr_deps], makefile_test, ['MatchPatComments'])
+test('Test24748', [ignore_stderr, req_ppr_deps], makefile_test, ['Test24748'])
 test('DataDeclShort', [ignore_stderr, req_ppr_deps], makefile_test, ['DataDeclShort'])