diff --git a/ghc/compiler/rename/ParseType.y b/ghc/compiler/rename/ParseType.y
index 1039a42effe69616b0cf9a916c48439faa33e96c..8799da46b42e29e869d7442fdbe88d8f029bf338 100644
--- a/ghc/compiler/rename/ParseType.y
+++ b/ghc/compiler/rename/ParseType.y
@@ -66,6 +66,7 @@ parseType ls =
 	VARSYM		    { ITvarsym 	 $$ }
 	CONSYM		    { ITconsym 	 $$ }
 	QCONID		    { ITqconid   $$ }
+	QCONSYM		    { ITqconsym  $$ }
 
 	UNKNOWN             { ITunknown $$ }
 %%
@@ -137,6 +138,7 @@ tv_names	:: { [RdrName] }
 
 tc_name		:: { RdrName }
 tc_name		:  QCONID		{ lexTcQual $1 }
+		|  QCONSYM		{ lexTcQual $1 }
 		|  CONID		{ Unqual (TCOcc $1) }
 		|  CONSYM		{ Unqual (TCOcc $1) }
 		|  OPAREN RARROW CPAREN	{ Unqual (TCOcc SLIT("->")) }
diff --git a/ghc/compiler/rename/ParseUnfolding.y b/ghc/compiler/rename/ParseUnfolding.y
index a2351a4505718856d06bf48984b2135e7f9051cf..5c180eb4fadf4371aca08af3ab93f794d6d4ec6b 100644
--- a/ghc/compiler/rename/ParseUnfolding.y
+++ b/ghc/compiler/rename/ParseUnfolding.y
@@ -347,6 +347,7 @@ tv_names	:: { [RdrName] }
 
 tc_name		:: { RdrName }
 tc_name		:  QCONID		{ lexTcQual $1 }
+		|  QCONSYM		{ lexTcQual $1 }
 		|  CONID		{ Unqual (TCOcc $1) }
 		|  CONSYM		{ Unqual (TCOcc $1) }
 		|  OPAREN RARROW CPAREN	{ Unqual (TCOcc SLIT("->")) }