diff --git a/Mueval/Interpreter.hs b/Mueval/Interpreter.hs
--- a/Mueval/Interpreter.hs
+++ b/Mueval/Interpreter.hs
@@ -5,6 +5,7 @@
 import qualified Control.Exception (catch)
 import Control.Monad.Trans (liftIO)
 import System.Directory (copyFile, makeRelativeToCurrentDirectory, removeFile)
+import System.FilePath.Posix (takeFileName)
 
 import Language.Haskell.Interpreter.GHC (eval, newSession, reset, setImports, loadModules,
                                          setOptimizations, setUseLanguageExtensions, setInstalledModsAreInScopeQualified,
@@ -50,11 +51,13 @@
 
                                   liftIO Mueval.Resources.limitResources
 
-                                  when doload $ do loadModules [lfl]
+                                  when doload $ do
+                                                   let lfl' = takeFileName lfl
+                                                   loadModules [lfl']
                                                    -- We need to mangle the String to
                                                    -- turn a filename into a
                                                    -- module
-                                                   setTopLevelModules [(takeWhile (/='.') lfl)]
+                                                   setTopLevelModules [(takeWhile (/='.') lfl')]
 
                                   setImports modules
 
@@ -84,9 +87,10 @@
                                   (newSession >>= (flip withSession) (interpreter prt exts mds lfl expr))
                                   (\_ -> do case lfl of
                                              "" -> return ()
-                                             l  -> removeFile l
+                                             l  -> do canonfile <- (makeRelativeToCurrentDirectory l)
+                                                      removeFile ("/tmp/" ++ takeFileName canonfile)
                                             error "Expression did not compile.")
 
 mvload :: FilePath -> IO ()
 mvload lfl = do canonfile <- (makeRelativeToCurrentDirectory lfl)
-                liftIO $ copyFile canonfile ("/tmp/" ++ canonfile)
+                liftIO $ copyFile canonfile ("/tmp/" ++ (takeFileName canonfile))
diff --git a/mueval.cabal b/mueval.cabal
--- a/mueval.cabal
+++ b/mueval.cabal
@@ -1,5 +1,5 @@
 name:                mueval
-version:             0.6
+version:             0.6.1
 
 license:             BSD3
 license-file:        LICENSE
@@ -31,7 +31,7 @@
 library
         exposed-modules:     Mueval.Concurrent, Mueval.Context, Mueval.Interpreter,
                              Mueval.ParseArgs, Mueval.Resources
-        build-depends:       base, directory, mtl, unix, hint>=0.2.4, show>=0.3, utf8-string
+        build-depends:       base, directory, mtl, filepath, unix, hint>=0.2.4, show>=0.3, utf8-string
         ghc-options:         -Wall -static
 
 executable mueval
