Index: uspace/lib/hound/src/client.c
===================================================================
--- uspace/lib/hound/src/client.c	(revision 6ec1d480ee8e599fbab1192e113acd039e31d0b4)
+++ uspace/lib/hound/src/client.c	(revision 5bf43103495eb226887632559f9ccfb7ee0a8427)
@@ -214,5 +214,5 @@
 		new_stream->format = format;
 		new_stream->context = hound;
-		int ret = hound_service_stream_enter(new_stream->exch,
+		const int ret = hound_service_stream_enter(new_stream->exch,
 		    hound->id, flags, format, bsize);
 		if (ret != EOK) {
Index: uspace/lib/hound/src/protocol.c
===================================================================
--- uspace/lib/hound/src/protocol.c	(revision 6ec1d480ee8e599fbab1192e113acd039e31d0b4)
+++ uspace/lib/hound/src/protocol.c	(revision 5bf43103495eb226887632559f9ccfb7ee0a8427)
@@ -256,6 +256,6 @@
  ****/
 
-static int hound_server_read_data(void *stream);
-static int hound_server_write_data(void *stream);
+static void hound_server_read_data(void *stream);
+static void hound_server_write_data(void *stream);
 static const hound_server_iface_t *server_iface;
 
@@ -435,7 +435,17 @@
 			    server_iface->server, id);
 			if (rec) {
-				hound_server_write_data(stream);
+				if(server_iface->stream_data_read) {
+					async_answer_0(callid, EOK);
+					hound_server_write_data(stream);
+				} else {
+					async_answer_0(callid, ENOTSUP);
+				}
 			} else {
-				hound_server_read_data(stream);
+				if (server_iface->stream_data_write) {
+					async_answer_0(callid, EOK);
+					hound_server_read_data(stream);
+				} else {
+					async_answer_0(callid, ENOTSUP);
+				}
 			}
 			break;
@@ -453,9 +463,6 @@
 }
 
-static int hound_server_read_data(void *stream)
-{
-	if (!server_iface || !server_iface->stream_data_write)
-		return ENOTSUP;
-
+static void hound_server_read_data(void *stream)
+{
 	ipc_callid_t callid;
 	ipc_call_t call;
@@ -478,11 +485,8 @@
 
 	async_answer_0(callid, ret);
-	return ret;
-}
-
-static int hound_server_write_data(void *stream)
-{
-	if (!server_iface || !server_iface->stream_data_read)
-		return ENOTSUP;
+}
+
+static void hound_server_write_data(void *stream)
+{
 
 	ipc_callid_t callid;
@@ -505,5 +509,4 @@
 
 	async_answer_0(callid, ret);
-	return ret;
 }
 
