diff --git a/krebs/5pkgs/simple/cabal-read.nix b/krebs/5pkgs/simple/cabal-read.nix
index f8fc71e05..03b42ef2c 100644
--- a/krebs/5pkgs/simple/cabal-read.nix
+++ b/krebs/5pkgs/simple/cabal-read.nix
@@ -5,6 +5,7 @@ writeHaskellPackage "cabal-read" {
   executables.ghc-options = {
     extra-depends = ["Cabal"];
     text = /* haskell */ ''
+      {-# LANGUAGE CPP #-}
       module Main (main) where
       import Data.List
       import Data.Maybe
@@ -26,6 +27,9 @@ writeHaskellPackage "cabal-read" {
           case lookup (mkUnqualComponentName name) (condExecutables desc) of
             Just exe ->
               putStrLn . intercalate " " . fromMaybe [] . lookup GHC
+      #if MIN_VERSION_Cabal(3,0,0)
+                       . perCompilerFlavorToList
+      #endif
                        . options . buildInfo . condTreeData $ exe
 
             Nothing ->