diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+0.8.0
+-----------------------------------------------------------------------------
+- Require non-empty `ByteString`s in `setZapDomain` (#63)
+
 0.7.0
 -----------------------------------------------------------------------------
 - Add `setZapDomain` (thanks to Alain O'Dea).
diff --git a/src/System/ZMQ4.hs b/src/System/ZMQ4.hs
--- a/src/System/ZMQ4.hs
+++ b/src/System/ZMQ4.hs
@@ -762,7 +762,7 @@
 setXPubVerbose x s = setIntOpt s B.xpubVerbose (bool2cint x)
 
 -- | <http://api.zeromq.org/4-0:zmq-getsockopt zmq_getsockopt ZMQ_ZAP_DOMAIN>.
-setZapDomain :: Restricted (N0, N254) SB.ByteString -> Socket a -> IO ()
+setZapDomain :: Restricted (N1, N254) SB.ByteString -> Socket a -> IO ()
 setZapDomain x s = setByteStringOpt s B.zapDomain (rvalue x)
 
 -- | Bind the socket to the given address
diff --git a/src/System/ZMQ4/Monadic.hs b/src/System/ZMQ4/Monadic.hs
--- a/src/System/ZMQ4/Monadic.hs
+++ b/src/System/ZMQ4/Monadic.hs
@@ -602,7 +602,7 @@
 setXPubVerbose :: Bool -> Socket z Z.XPub -> ZMQ z ()
 setXPubVerbose b = liftIO . Z.setXPubVerbose b . _unsocket
 
-setZapDomain :: Restricted (N0, N254) ByteString -> Socket z t -> ZMQ z ()
+setZapDomain :: Restricted (N1, N254) ByteString -> Socket z t -> ZMQ z ()
 setZapDomain s = liftIO . Z.setZapDomain s . _unsocket
 
 -- * Low Level Functions
diff --git a/tests/System/ZMQ4/Test/Properties.hs b/tests/System/ZMQ4/Test/Properties.hs
--- a/tests/System/ZMQ4/Test/Properties.hs
+++ b/tests/System/ZMQ4/Test/Properties.hs
@@ -185,7 +185,7 @@
   | SendBuf         (Restricted (N0, Int32) Int)
   | SendHighWM      (Restricted (N0, Int32) Int)
   | SendTimeout     (Restricted (Nneg1, Int32) Int)
-  | ZapDomain       (Restricted (N0, N254) ByteString)
+  | ZapDomain       (Restricted (N1, N254) ByteString)
   | PlainPassword   (Restricted (N1, N254) ByteString)
   | PlainUsername   (Restricted (N1, N254) ByteString)
   deriving Show
@@ -215,7 +215,7 @@
       , SendHighWM      . toR0     <$> (arbitrary :: Gen Int32) `suchThat` (>=  0)
       , SendTimeout     . toRneg1  <$> (arbitrary :: Gen Int32) `suchThat` (>= -1)
       , MaxMessageSize  . toRneg1' <$> (arbitrary :: Gen Int64) `suchThat` (>= -1)
-      , ZapDomain       . fromJust . toRestricted <$> (unbytes <$> arbitrary) `suchThat` (\s -> SB.length s >= 0 && SB.length s < 255)
+      , ZapDomain       . fromJust . toRestricted <$> (unbytes <$> arbitrary) `suchThat` (\s -> SB.length s >  0 && SB.length s < 255)
       , PlainPassword   . fromJust . toRestricted <$> (unbytes <$> arbitrary) `suchThat` (\s -> SB.length s >  0 && SB.length s < 255)
       , PlainUsername   . fromJust . toRestricted <$> (unbytes <$> arbitrary) `suchThat` (\s -> SB.length s >  0 && SB.length s < 255)
       , Identity        . fromJust . toRestricted <$> (unbytes <$> arbitrary) `suchThat` (\s -> SB.length s >  0 && SB.length s < 255)
diff --git a/zeromq4-haskell.cabal b/zeromq4-haskell.cabal
--- a/zeromq4-haskell.cabal
+++ b/zeromq4-haskell.cabal
@@ -1,5 +1,5 @@
 name:               zeromq4-haskell
-version:            0.7.0
+version:            0.8.0
 synopsis:           Bindings to ZeroMQ 4.x
 category:           System, FFI
 license:            MIT
