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.1
+Version: 1.0.2
 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.0.1    && < 1.2 ,
+        dhall              >= 1.0.1    && < 1.3 ,
         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.0.1   && < 1.2,
+        dhall            >= 1.0.1   && < 1.3,
         dhall-nix                           ,
         hnix             >= 0.3.4   && < 0.4,
         optparse-generic >= 1.1.1   && < 1.2,
diff --git a/exec/Main.hs b/exec/Main.hs
--- a/exec/Main.hs
+++ b/exec/Main.hs
@@ -3,6 +3,7 @@
 module Main where
 
 import Control.Exception (SomeException)
+import System.Exit (ExitCode(..))
 import Text.Trifecta.Delta (Delta(..))
 
 import qualified Control.Exception
@@ -43,7 +44,10 @@
 handle = Control.Exception.handle handler
   where
     handler :: SomeException -> IO a
-    handler e = do
-        System.IO.hPutStrLn System.IO.stderr ""
-        System.IO.hPrint    System.IO.stderr e
-        System.Exit.exitFailure
+    handler e = case Control.Exception.fromException e of
+        Just ExitSuccess -> do
+            Control.Exception.throwIO e
+        _ -> do
+            System.IO.hPutStrLn System.IO.stderr ""
+            System.IO.hPrint    System.IO.stderr e
+            System.Exit.exitFailure
