diff --git a/Makefile.am b/Makefile.am
index 8ceba66c..86b1b4bd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -324,6 +324,8 @@ test_apps = \
tests/test_stream_disconnect \
tests/test_stream_timeout \
tests/test_disconnect_inproc \
+ tests/test_unbind_inproc \
+ tests/test_unbind_wildcard \
tests/test_ctx_options \
tests/test_ctx_destroy \
tests/test_security_null \
@@ -450,6 +452,12 @@ tests_test_stream_disconnect_LDADD = src/libzmq.la
tests_test_disconnect_inproc_SOURCES = tests/test_disconnect_inproc.cpp
tests_test_disconnect_inproc_LDADD = src/libzmq.la
+tests_test_unbind_inproc_SOURCES = tests/test_unbind_inproc.cpp
+tests_test_unbind_inproc_LDADD = src/libzmq.la
+
+tests_test_unbind_wildcard_SOURCES = tests/test_unbind_wildcard.cpp
+tests_test_unbind_wildcard_LDADD = src/libzmq.la
+
tests_test_ctx_options_SOURCES = tests/test_ctx_options.cpp
tests_test_ctx_options_LDADD = src/libzmq.la
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 8256cdbc..f5f95dee 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -23,6 +23,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;
+}