diff --git a/dhall-nix.cabal b/dhall-nix.cabal
--- a/dhall-nix.cabal
+++ b/dhall-nix.cabal
@@ -1,5 +1,5 @@
 Name: dhall-nix
-Version: 1.0.3
+Version: 1.0.4
 Cabal-Version: >=1.8.0.2
 Build-Type: Simple
 Tested-With: GHC == 8.0.1
@@ -30,7 +30,7 @@
         base               >= 4.8.0.0  && < 5   ,
         containers                        < 0.6 ,
         data-fix                          < 0.1 ,
-        dhall              >= 1.3.0    && < 1.4 ,
+        dhall              >= 1.3.0    && < 1.5 ,
         hnix               >= 0.3.4    && < 0.4 ,
         neat-interpolation                < 0.4 ,
         text               >= 0.8.0.0  && < 1.3 ,
@@ -44,7 +44,7 @@
     Main-Is: Main.hs
     Build-Depends:
         base             >= 4       && < 5  ,
-        dhall            >= 1.3.0   && < 1.4,
+        dhall            >= 1.3.0   && < 1.5,
         dhall-nix                           ,
         hnix             >= 0.3.4   && < 0.4,
         optparse-generic >= 1.1.1   && < 1.2,
diff --git a/src/Dhall/Nix.hs b/src/Dhall/Nix.hs
--- a/src/Dhall/Nix.hs
+++ b/src/Dhall/Nix.hs
@@ -430,7 +430,7 @@
         let e4 = Fix (NApp "builtins.isAttrs" valL)
         let e5 = Fix (NApp "builtins.isAttrs" valR)
         let e6 = Fix (NBinary NAnd e4 e5)
-        let e7 = Fix (NIf e6 (toNameValue e3) (toNameValue valL))
+        let e7 = Fix (NIf e6 (toNameValue e3) (toNameValue valR))
         let e8 = Fix (NIf defR e7 (toNameValue valL))
         let e9 = Fix (NIf defR (toNameValue valR) empty)
         let toKeyVals = Fix (NAbs "k" (Fix (NIf defL e8 e9)))
