diff --git a/ghc/compiler/hsSyn/HsDecls.lhs b/ghc/compiler/hsSyn/HsDecls.lhs
index 527ba156a384358e5b587420e34be469a4dcd2f6..822034a9e5afee8cca1815aa038eadcab47be60c 100644
--- a/ghc/compiler/hsSyn/HsDecls.lhs
+++ b/ghc/compiler/hsSyn/HsDecls.lhs
@@ -438,8 +438,9 @@ data RuleBndr name
 instance (Outputable name, Outputable pat)
 	      => Outputable (RuleDecl name pat) where
   ppr (RuleDecl name tvs ns lhs rhs loc)
-	= text "RULE" <+> doubleQuotes (ptext name) <> colon <+> 
-	  sep [pp_forall, ppr lhs, equals <+> ppr rhs]
+	= sep [text "{-# RULES" <+> doubleQuotes (ptext name),
+	       pp_forall, ppr lhs, equals <+> ppr rhs,
+               text "#-}" ]
 	where
 	  pp_forall | null tvs && null ns = empty
 		    | otherwise		  = text "forall" <+>