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.1.3
+Version: 1.1.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.3 ,
-        dhall                     >= 1.13    && < 1.14,
+        dhall                     >= 1.14    && < 1.15,
         formatting                >= 6.3     && < 6.4 ,
         hnix                      >= 0.3.4   && < 0.5 ,
         insert-ordered-containers >= 0.1.0.1 && < 0.3 ,
diff --git a/src/Dhall/Nix.hs b/src/Dhall/Nix.hs
--- a/src/Dhall/Nix.hs
+++ b/src/Dhall/Nix.hs
@@ -319,8 +319,7 @@
         let e8 = Fix (NAbs "n" (Fix (NApp "naturalOdd" (Fix (NIf e7 e6 "n")))))
         return (Fix (NLet [e5] e8))
     loop NaturalShow = do
-        let e0 = Fix (NApp "toString" "x")
-        return (Fix (NAbs "x" (Fix (NBinary NPlus (Fix (NStr "+")) e0))))
+        return "toString"
     loop NaturalToInteger = do
         return (Fix (NAbs "n" "n"))
     loop (NaturalPlus a b) = do
@@ -334,7 +333,11 @@
     loop Integer = return (Fix (NSet []))
     loop (IntegerLit n) = return (Fix (NConstant (NInt (fromIntegral n))))
     loop IntegerShow = do
-        return "toString"
+        let e0 = Fix (NApp "toString" "x")
+        let e1 = Fix (NBinary NPlus (Fix (NStr "+")) e0)
+        let e2 = Fix (NBinary NLte (Fix (NConstant (NInt 0))) "x")
+        let e3 = Fix (NAbs "x" (Fix (NIf e2 e1 e0)))
+        return e3
     loop Double = return (Fix (NSet []))
     loop (DoubleLit n) = Left (NoDoubles n)
     loop DoubleShow = do
