diff --git a/ghc-core.cabal b/ghc-core.cabal
--- a/ghc-core.cabal
+++ b/ghc-core.cabal
@@ -1,5 +1,5 @@
 name:           ghc-core
-version:        0.5.2
+version:        0.5.3
 license:        BSD3
 license-file:   LICENSE
 author:         Don Stewart
diff --git a/ghc-core.hs b/ghc-core.hs
--- a/ghc-core.hs
+++ b/ghc-core.hs
@@ -59,6 +59,7 @@
 --  , optFormat :: Output
   , optGhcExe :: String
   , optAsm    :: Bool
+  , optSyntax :: Bool
   } deriving (Eq, Show)
 
 defaultOptions :: Options
@@ -67,6 +68,7 @@
 --  , optFormat  = TTY
   , optGhcExe  = "ghc"
   , optAsm     = True
+  , optSyntax  = True
   }
 
 -- formats :: [(String, Output)]
@@ -86,6 +88,9 @@
         ,Option [] ["no-asm"]
             (NoArg (\opts -> opts { optAsm = False }))
             "Don't output generated assembly code."
+        ,Option [] ["no-syntax"]
+            (NoArg (\opts -> opts { optSyntax = False }))
+            "Don't colorize generated code."
     ]
     where
 {-      fromString  f = fromMaybe (formatError f) (lookup f formats)
@@ -146,7 +151,8 @@
                 (optFormat opts)
                 colourPrefs False True NoLit [] strs
 -}
-    let nice = render ansiLight strs []
+    let nice | optSyntax opts = render ansiLight strs []
+             | otherwise      = strs
 
     bracket
         (openTempFile "/tmp" "ghc-core-XXXX.hcr")
