diff --git a/ghc/compiler/parser/Lex.lhs b/ghc/compiler/parser/Lex.lhs
index b8f25953b3019cad50f0d9b7923c53cf4ad6b41c..25aa14c5f5a650ee8bcfdb9d2d90833309142947 100644
--- a/ghc/compiler/parser/Lex.lhs
+++ b/ghc/compiler/parser/Lex.lhs
@@ -272,7 +272,6 @@ haskellKeywordsFM = listToUFM $
 	( "_scc_",	ITscc )
      ]
 
-
 ghcExtensionKeywordsFM = listToUFM $
 	map (\ (x,y) -> (_PK_ x,y))
      [	( "forall",	ITforall ),
@@ -1003,12 +1002,9 @@ lex_id3 cont glaexts mod buf just_a_conid
      in
      case _scc_ "Lex.haskellKeyword" lookupUFM haskellKeywordsFM lexeme of {
     	    Just kwd_token -> just_a_conid; -- avoid M.where etc.
-    	    Nothing        -> 
-     if flag glaexts
-       then case lookupUFM ghcExtensionKeywordsFM lexeme of {
-    	    Just kwd_token -> just_a_conid;
-    	    Nothing        -> is_a_qvarid }
-       else is_a_qvarid
+    	    Nothing        -> is_a_qvarid
+	-- TODO: special ids (as, qualified, hiding) shouldn't be
+	-- recognised as keywords here.  ie.  M.as is a qualified varid.
      }}}