diff --git a/compiler/GHC/Parser.y b/compiler/GHC/Parser.y
index 7ec7637d1f7ebc52dad794fe785a9fb43f7791d8..050c696a0a475c9ea3893560d6ac72a641d9f62a 100644
--- a/compiler/GHC/Parser.y
+++ b/compiler/GHC/Parser.y
@@ -2653,7 +2653,7 @@ sigdecl :: { LHsDecl GhcPs }
                                     (Fixity fixText fixPrec (unLoc $1)))))
                    }}
 
-        | pattern_synonym_sig   { sL1a $1 . SigD noExtField . unLoc $ $1 }
+        | pattern_synonym_sig   { L (getLoc $1) . SigD noExtField . unLoc $ $1 }
 
         | '{-# COMPLETE' qcon_list opt_tyconsig  '#-}'
                 {% let (dcolon, tc) = $3
diff --git a/testsuite/tests/printer/Makefile b/testsuite/tests/printer/Makefile
index 9d8c735308c3d82e33f45cbf84d78fbe885154d3..8b9e56cbe6d6c2f59fa00f437b5de5d5ed8802c8 100644
--- a/testsuite/tests/printer/Makefile
+++ b/testsuite/tests/printer/Makefile
@@ -846,3 +846,8 @@ Test24748:
 DataDeclShort:
 	$(CHECK_PPR)   $(LIBDIR) DataDeclShort.hs
 	$(CHECK_EXACT) $(LIBDIR) DataDeclShort.hs
+
+.PHONY: Test24749
+Test24749:
+	$(CHECK_PPR)   $(LIBDIR) Test24749.hs
+	$(CHECK_EXACT) $(LIBDIR) Test24749.hs
diff --git a/testsuite/tests/printer/Test24749.hs b/testsuite/tests/printer/Test24749.hs
new file mode 100644
index 0000000000000000000000000000000000000000..729da647dcf0335bd65a204892680a7c8a8a5fba
--- /dev/null
+++ b/testsuite/tests/printer/Test24749.hs
@@ -0,0 +1,11 @@
+{-# LANGUAGE PatternSynonyms #-}
+module Test24749 where
+
+-- c0
+pattern (:|) ::
+  -- c1
+  a ->
+  -- c2
+  a ->
+  -- c3
+  Domino a
diff --git a/testsuite/tests/printer/all.T b/testsuite/tests/printer/all.T
index da192356745b0ad9321ffdff7f1a6f77477b6f53..ce076aaa8744dbcb133c4e5a7810ec76b3ca2e3d 100644
--- a/testsuite/tests/printer/all.T
+++ b/testsuite/tests/printer/all.T
@@ -202,3 +202,4 @@ test('CaseAltComments', [ignore_stderr, req_ppr_deps], makefile_test, ['CaseAltC
 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'])
+test('Test24749', [ignore_stderr, req_ppr_deps], makefile_test, ['Test24749'])