diff --git a/msgpack-rpc.cabal b/msgpack-rpc.cabal
--- a/msgpack-rpc.cabal
+++ b/msgpack-rpc.cabal
@@ -1,5 +1,5 @@
 Name:                msgpack-rpc
-Version:             0.3.1.1
+Version:             0.3.1.2
 Synopsis:            A MessagePack-RPC Implementation
 Description:
   A MessagePack-RPC Implementation <http://msgpack.org/>
diff --git a/src/Network/MessagePackRpc/Client.hs b/src/Network/MessagePackRpc/Client.hs
--- a/src/Network/MessagePackRpc/Client.hs
+++ b/src/Network/MessagePackRpc/Client.hs
@@ -66,9 +66,9 @@
 
 -- | RPC error type
 data RpcError
-  = ServerError Object -- ^ An error occurred at server
+  = ServerError Object -- ^ Server error
   | ResultTypeError String -- ^ Result type mismatch
-  | ProtocolError String -- ^ A protocol error occurred
+  | ProtocolError String -- ^ Protocol error
   deriving (Eq, Ord, Typeable)
 
 instance Exception RpcError
@@ -98,7 +98,7 @@
 
 rpcCall :: Connection -> String -> [Object] -> IO Object
 rpcCall Connection{ connHandle = h } m args = do
-  msgid <- (`mod`2^(32::Int)) <$> randomIO :: IO Int
+  msgid <- (`mod`2^(30::Int)) <$> randomIO :: IO Int
   packToHandle' h $ put (0 ::Int, msgid, m, args)
   unpackFromHandleI h $ do
     (rtype, rmsgid, rerror, rresult) <- getI
