diff --git a/hslua.cabal b/hslua.cabal
--- a/hslua.cabal
+++ b/hslua.cabal
@@ -1,8 +1,8 @@
 Name:                   hslua
-Version:                0.3.8
+Version:                0.3.9
 Stability:              beta
 Cabal-version:          >= 1.8
-License:                BSD3
+License:                MIT
 Build-type:             Simple
 License-File:           COPYRIGHT
 Copyright:              2007-2012, Gracjan Polak
diff --git a/src/Scripting/Lua.hs b/src/Scripting/Lua.hs
--- a/src/Scripting/Lua.hs
+++ b/src/Scripting/Lua.hs
@@ -530,8 +530,8 @@
 -- | See @lua_call@ and @lua_call@ in Lua Reference Manual. This is 
 -- a wrapper over @lua_pcall@, as @lua_call@ is unsafe in controlled environment
 -- like Haskell VM.
-call :: LuaState -> Int -> Int -> IO Int
-call l a b = liftM fromIntegral (c_lua_pcall l (fromIntegral a) (fromIntegral b) 0)
+call :: LuaState -> Int -> Int -> IO ()
+call l a b = c_lua_call l (fromIntegral a) (fromIntegral b)
 
 -- | See @lua_pcall@ in Lua Reference Manual.
 pcall :: LuaState -> Int -> Int -> Int -> IO Int
diff --git a/src/Scripting/Lua/ConfigFile.hs b/src/Scripting/Lua/ConfigFile.hs
--- a/src/Scripting/Lua/ConfigFile.hs
+++ b/src/Scripting/Lua/ConfigFile.hs
@@ -55,7 +55,7 @@
 openConfig path = do
   l <- Lua.newstate
   loadResult <- Lua.loadfile l path
-  callResult <- Lua.call l 0 0
+  callResult <- Lua.pcall l 0 0 0
   if loadResult /= 0 || callResult /= 0 then
     do
       errMsg <- Lua.tostring l (-1)
