diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+0.5.4.2 - 140723
+* fixed possible crash caused by unhandled exceptions from canonicalizePath
+
 0.5.4.1 - 140615
 * introduced the ServerOnly compilation flag to avoid unnecessary dependency
   on OpenGL and GLUT in a server environment
diff --git a/hp2any-graph.cabal b/hp2any-graph.cabal
--- a/hp2any-graph.cabal
+++ b/hp2any-graph.cabal
@@ -1,5 +1,5 @@
 Name:          hp2any-graph
-Version:       0.5.4.1
+Version:       0.5.4.2
 Cabal-Version: >= 1.6
 Synopsis:      Real-time heap graphing utility and profile stream server with a reusable graphing module.
 Category:      profiling, development, utils
diff --git a/src/HandleArgs.hs b/src/HandleArgs.hs
--- a/src/HandleArgs.hs
+++ b/src/HandleArgs.hs
@@ -3,6 +3,7 @@
 module HandleArgs (graphArgs, relayArgs) where
 
 import Control.Applicative
+import Control.Exception
 import Control.Monad
 import Data.Maybe
 import System.Console.ParseArgs
@@ -16,8 +17,11 @@
 
 commonArgs args = do
   let canonMaybe a = case getArgString args a of
-                       Just p  -> Just <$> canonicalizePath p
+                       Just p  -> Just <$> catch (canonicalizePath p) (ioHandler p)
                        Nothing -> return Nothing
+        where
+          ioHandler :: a -> IOException -> IO a
+          ioHandler x _ = return x
 
   exec <- canonMaybe Exec
   dir <- canonMaybe Cwd
diff --git a/src/Relay.hs b/src/Relay.hs
--- a/src/Relay.hs
+++ b/src/Relay.hs
@@ -6,7 +6,6 @@
 import Control.Monad
 import Control.Monad.Fix
 import Control.Exception (SomeException, catch)
-import Prelude hiding (catch)
 import qualified Data.IntMap as IM
 import Data.IORef
 import Network
