diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -37,6 +37,7 @@
 
 import Data.Graph.Analysis
 import Data.Graph.Analysis.Reporting.Pandoc
+import Data.GraphViz.Commands(quitWithoutGraphviz)
 
 import Data.Char(toLower)
 import Data.Maybe(catMaybes)
@@ -63,7 +64,8 @@
 -- -----------------------------------------------------------------------------
 
 main :: IO ()
-main = do input <- getArgs
+main = do quitWithoutGraphviz noGraphvizErr
+          input <- getArgs
           mInfo <- getPkgInfo input
           case mInfo of
             Nothing -> putErrLn "No parseable package information found."
@@ -75,6 +77,9 @@
                       (failed,hms) <- parseFilesFrom dir'
                       mapM_ (putErrLn . ("Could not parse source file "++)) failed
                       analyseCode dir nm exps failed hms
+  where
+    noGraphvizErr = "ERROR:" ++ programmeName ++ " requires the tools from \
+                    \http://graphviz.org to be installed."
 
 programmeName :: String
 programmeName = "SourceGraph"
diff --git a/SourceGraph.cabal b/SourceGraph.cabal
--- a/SourceGraph.cabal
+++ b/SourceGraph.cabal
@@ -1,5 +1,5 @@
 Name:                SourceGraph
-Version:             0.7.0.2
+Version:             0.7.0.3
 Synopsis:            Static code analysis using graph-theoretic techniques.
 Description: {
 Statically analyse Haskell source code using graph-theoretic
@@ -76,7 +76,7 @@
                         mtl,
                         fgl >= 5.4.2.3 && < 5.5,
                         Graphalyze == 0.13.*,
-                        graphviz == 2999.13.*,
+                        graphviz >= 2999.14.1.0 && < 2999.15,
                         Cabal >= 1.8 && < 1.15,
                         haskell-src-exts >= 1.5.0 && < 1.14.0
 }
