diff --git a/Network/Wai/Handler/DevelServer.hs b/Network/Wai/Handler/DevelServer.hs
--- a/Network/Wai/Handler/DevelServer.hs
+++ b/Network/Wai/Handler/DevelServer.hs
@@ -28,6 +28,8 @@
                          doesFileExist, getDirectoryContents)
 import Control.Applicative ((<$>))
 
+import Data.List (nub)
+
 type FunctionName = String
 
 run :: Port -> ModuleName -> FunctionName -> [FilePath] -> IO ()
@@ -77,12 +79,16 @@
         threadDelay 1000000
         go newError newFiles
     reload prevError = do
-        putStrLn "Attempting to interpret your app..."
+        case prevError of
+             Nothing -> putStrLn "Attempting to interpret your app..."
+             _       -> return ()
         loadingApp' prevError mqueue
         res <- theapp modu func
         case res of
             Left err -> do
-                putStrLn $ "Compile failed: " ++ show err
+                if show (Just err) /= show prevError
+                   then putStrLn $ "Compile failed: " ++ showInterpError err
+                   else return ()
                 loadingApp' (Just $ toException err) mqueue
                 return (Just $ toException err, [])
             Right (app, files') -> E.handle onInitErr $ do
@@ -97,6 +103,11 @@
         putStrLn $ "Error initializing application: " ++ show e
         loadingApp' (Just e) mqueue
         return (Just e, [])
+
+showInterpError :: InterpreterError -> String
+showInterpError (WontCompile errs) =
+    concat . nub $ map (\(GhcError msg) -> '\n':'\n':msg) errs
+showInterpError err = show err
 
 fileList :: FilePath -> IO [FilePath]
 fileList top = do
diff --git a/wai-handler-devel.cabal b/wai-handler-devel.cabal
--- a/wai-handler-devel.cabal
+++ b/wai-handler-devel.cabal
@@ -1,5 +1,5 @@
 Name:                wai-handler-devel
-Version:             0.1.0.1
+Version:             0.1.1
 Synopsis:            WAI server that automatically reloads code after modification.
 Description:         This handler automatically reloads your source code upon any changes. It works by using the hint package, essentially embedding GHC inside the handler. The handler (both the executable and library) takes three arguments: the port to listen on, the module name containing the application function, and the name of the function.
                      .
