diff --git a/Database/Redis/Monad.hs b/Database/Redis/Monad.hs
--- a/Database/Redis/Monad.hs
+++ b/Database/Redis/Monad.hs
@@ -344,8 +344,9 @@
 scard :: (WithRedis m, BS s) => s -> m (R.Reply Int)
 scard key = getRedis >>= liftIO . flip R.scard key
 
-sismember :: (WithRedis m, BS s) => s -> m (R.Reply Int)
-sismember key = getRedis >>= liftIO . flip R.sismember key
+sismember :: (WithRedis m, BS s1, BS s2) => s1 -> s2 -> m (R.Reply Int)
+sismember key val = do r <- getRedis
+                       liftIO $ R.sismember r key val
 
 smembers :: (WithRedis m, BS s1, BS s2) => s1 -> m (R.Reply s2)
 smembers key = getRedis >>= liftIO . flip R.smembers key
diff --git a/Database/Redis/Redis.hs b/Database/Redis/Redis.hs
--- a/Database/Redis/Redis.hs
+++ b/Database/Redis/Redis.hs
@@ -820,11 +820,12 @@
 -- returned.
 --
 -- (RInt 1) returned if element is member of the set and (RInt 0) otherwise
-sismember :: BS s =>
+sismember :: (BS s1, BS s2) =>
              Redis
-          -> s                  -- ^ target key
+          -> s1                 -- ^ target key
+          -> s2                 -- ^ value to test
           -> IO (Reply Int)
-sismember r key = withState r (\rs -> sendCommand rs (CMBulk ["SISMEMBER", toBS key]) >> recv rs)
+sismember r key val = withState r (\rs -> sendCommand rs (CMBulk ["SISMEMBER", toBS key, toBS val]) >> recv rs)
 
 -- | Return all the members (elements) of the set
 --
diff --git a/redis.cabal b/redis.cabal
--- a/redis.cabal
+++ b/redis.cabal
@@ -1,5 +1,5 @@
 Name:                redis
-Version:             0.7.1
+Version:             0.7.2
 License:             MIT
 Maintainer:          Alexander Bogdanov <andorn@gmail.com>
 Author:              Alexander Bogdanov <andorn@gmail.com>
@@ -23,6 +23,8 @@
 	- new batch command: run_cas
 	.
 	- fixed bug with expireAt - thanks to Alex Suraci
+	.
+	- fixed bug with sismember - thanks to Michael Snoyman
 	.
 
 Stability:           beta
