diff --git a/Config/Dyre.hs b/Config/Dyre.hs
--- a/Config/Dyre.hs
+++ b/Config/Dyre.hs
@@ -96,7 +96,7 @@
 module Config.Dyre ( wrapMain, Params(..), defaultParams ) where
 
 import System.IO           ( hPutStrLn, stderr )
-import System.Directory    ( doesFileExist, removeFile )
+import System.Directory    ( doesFileExist, removeFile, canonicalizePath )
 import System.Environment  ( getArgs )
 
 import Control.Monad       ( when )
@@ -162,7 +162,14 @@
         -- gone.
         errorData    <- getErrorString params
         customExists <- doesFileExist tempBinary
-        if confExists && customExists && (thisBinary /= tempBinary)
+
+        -- Canonicalize the paths for comparison to avoid symlinks throwing
+        -- us off. We do it here instead of earlier because canonicalizePath
+        -- drops path components when one of them is nonexistent.
+        thisBinary' <- canonicalizePath thisBinary
+        tempBinary' <- canonicalizePath tempBinary
+
+        if confExists && customExists && (thisBinary' /= tempBinary')
            then launchSub errorData tempBinary
            else enterMain errorData
   where launchSub errorData tempBinary = do
diff --git a/Config/Dyre/Paths.hs b/Config/Dyre/Paths.hs
--- a/Config/Dyre/Paths.hs
+++ b/Config/Dyre/Paths.hs
@@ -28,9 +28,7 @@
     let tempBinary = cacheDir </> pName ++ "-" ++ os ++ "-" ++ arch
     let configFile = configDir </> pName ++ ".hs"
 
-    thisBinary' <- canonicalizePath thisBinary
-    tempBinary' <- canonicalizePath tempBinary
-    return (thisBinary', tempBinary', configFile, cacheDir)
+    return (thisBinary, tempBinary, configFile, cacheDir)
 
 -- | Check if a file exists. If it exists, return Just the modification
 --   time. If it doesn't exist, return Nothing.
diff --git a/dyre.cabal b/dyre.cabal
--- a/dyre.cabal
+++ b/dyre.cabal
@@ -1,5 +1,5 @@
 name:          dyre
-version:       0.8.4
+version:       0.8.5
 category:      Development, Configuration
 synopsis:      Dynamic reconfiguration in Haskell
 
@@ -13,10 +13,10 @@
 
 homepage:      http://github.com/willdonnelly/dyre
 bug-reports:   http://github.com/willdonnelly/dyre/issues
-stability:     alpha
+stability:     beta
 author:        Will Donnelly
 maintainer:    Will Donnelly <will.donnelly@gmail.com>
-copyright:     (c) 2009 Will Donnelly
+copyright:     (c) 2010 Will Donnelly
 license:       BSD3
 license-file:  LICENSE
 
