diff --git a/iserv-proxy.cabal b/iserv-proxy.cabal
index 71798641cbf2800e31d44fee36f43ca9f62d2345..39e5cc6429a1bf84c69e3e674fc1f6bf1fd1fd99 100644
--- a/iserv-proxy.cabal
+++ b/iserv-proxy.cabal
@@ -99,6 +99,9 @@ Executable iserv-proxy
 Executable iserv-proxy-interpreter
    Default-Language: Haskell2010
    Main-Is: Interpreter.hs
+   -- We need to pass -fkeep-cafs to ensure that the interpreter retains CAFs
+   -- Iserv and GHC do something similar.
+   ghc-options: -fkeep-cafs
    Build-Depends: base       >= 4   && < 5,
                   iserv-proxy