diff --git a/.gitignore b/.gitignore
index ccc7e172..e6114a44 100644
--- a/.gitignore
+++ b/.gitignore
@@ -52,6 +52,8 @@ test_immediate
test_term_endpoint
test_router_mandatory
test_disconnect_inproc
+test_unbind_inproc
+test_unbind_wildcard
test_raw_sock
test_disconnect_inproc
test_ctx_options
diff --git a/Makefile.am b/Makefile.am
index f3754372..064edc24 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -303,6 +303,8 @@ test_apps = \
test_stream_disconnect \
test_stream_timeout \
test_disconnect_inproc \
+ test_unbind_inproc \
+ test_unbind_wildcard \
test_ctx_options \
test_ctx_destroy \
test_security_null \
@@ -417,6 +419,12 @@ test_stream_disconnect_LDADD = libzmq.la
test_disconnect_inproc_SOURCES = tests/test_disconnect_inproc.cpp
test_disconnect_inproc_LDADD = libzmq.la
+test_unbind_inproc_SOURCES = tests/test_unbind_inproc.cpp
+test_unbind_inproc_LDADD = libzmq.la
+
+test_unbind_wildcard_SOURCES = tests/test_unbind_wildcard.cpp
+test_unbind_wildcard_LDADD = libzmq.la
+
test_ctx_options_SOURCES = tests/test_ctx_options.cpp
test_ctx_options_LDADD = libzmq.la
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 27bbcc0e..8547fd1b 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -22,6 +22,8 @@ set(tests
test_stream_empty
test_stream_disconnect
test_disconnect_inproc
+ test_unbind_inproc
+ test_unbind_wildcard
test_ctx_options
test_ctx_destroy
test_security_null
diff --git a/tests/test_unbind_inproc.cpp b/tests/test_unbind_inproc.cpp
new file mode 100644
index 00000000..2b1d8982
--- /dev/null
+++ b/tests/test_unbind_inproc.cpp
@@ -0,0 +1,43 @@
+/*
+ Copyright (c) 2007-2013 Contributors as noted in the AUTHORS file
+
+ This file is part of 0MQ.
+
+ 0MQ is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ 0MQ is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see .
+*/
+
+#include "testutil.hpp"
+
+int main (void)
+{
+ setup_test_environment();
+ void *ctx = zmq_ctx_new ();
+ assert (ctx);
+
+ void *sb = zmq_socket (ctx, ZMQ_REP);
+ assert (sb);
+ int rc = zmq_bind (sb, "inproc://a");
+ assert (rc == 0);
+
+ rc = zmq_unbind (sb, "inproc://a");
+ assert (rc == 0);
+
+ rc = zmq_close (sb);
+ assert (rc == 0);
+
+ rc = zmq_ctx_term (ctx);
+ assert (rc == 0);
+
+ return 0;
+}
diff --git a/tests/test_unbind_wildcard.cpp b/tests/test_unbind_wildcard.cpp
new file mode 100644
index 00000000..dae1d423
--- /dev/null
+++ b/tests/test_unbind_wildcard.cpp
@@ -0,0 +1,48 @@
+/*
+ Copyright (c) 2007-2013 Contributors as noted in the AUTHORS file
+
+ This file is part of 0MQ.
+
+ 0MQ is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ 0MQ is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program. If not, see .
+*/
+
+#include "testutil.hpp"
+
+int main (void)
+{
+ setup_test_environment();
+ void *ctx = zmq_ctx_new ();
+ assert (ctx);
+
+ void *sb = zmq_socket (ctx, ZMQ_REP);
+ assert (sb);
+ int rc = zmq_bind (sb, "tcp://*:5555");
+ assert (rc == 0);
+
+ char endpoint[256];
+ size_t endpoint_len = sizeof (endpoint);
+ rc = zmq_getsockopt (sb, ZMQ_LAST_ENDPOINT, endpoint, &endpoint_len);
+ assert (rc == 0);
+
+ rc = zmq_unbind (sb, endpoint);
+ assert (rc == 0);
+
+ rc = zmq_close (sb);
+ assert (rc == 0);
+
+ rc = zmq_ctx_term (ctx);
+ assert (rc == 0);
+
+ return 0;
+}