Index: uspace/srv/audio/hound/hound.c
===================================================================
--- uspace/srv/audio/hound/hound.c	(revision 43c40a36520468ebad5f31e98a074b44e74da3f3)
+++ uspace/srv/audio/hound/hound.c	(revision 6906f6145a2569ef7c361a0d43b01f3a2ed7c788)
@@ -161,5 +161,5 @@
 {
 	assert(hound);
-	if (!source || !source->name) {
+	if (!source || !source->name || str_cmp(source->name, "default") == 0) {
 		log_debug("Invalid source specified.");
 		return EINVAL;
@@ -187,5 +187,5 @@
 {
 	assert(hound);
-	if (!sink || !sink->name) {
+	if (!sink || !sink->name || str_cmp(sink->name, "default") == 0) {
 		log_debug("Invalid source specified.");
 		return EINVAL;
@@ -242,7 +242,15 @@
 	log_verbose("Connecting '%s' to '%s'.", source_name, sink_name);
 	fibril_mutex_lock(&hound->list_guard);
+
 	audio_source_t *source =
-	    find_source_by_name(&hound->sources, source_name);
-	audio_sink_t *sink = find_sink_by_name(&hound->sinks, sink_name);
+	    audio_source_list_instance(list_first(&hound->sources));
+	if (str_cmp(source_name, "default") != 0)
+	    source = find_source_by_name(&hound->sources, source_name);
+
+	audio_sink_t *sink =
+	    audio_sink_list_instance(list_first(&hound->sinks));
+	if (str_cmp(sink_name, "default") != 0)
+	    sink = find_sink_by_name(&hound->sinks, sink_name);
+
 	if (!source || !sink) {
 		fibril_mutex_unlock(&hound->list_guard);
@@ -274,6 +282,14 @@
 	assert(fibril_mutex_is_locked(&hound->list_guard));
 	log_verbose("Disconnecting '%s' to '%s'.", source_name, sink_name);
-	audio_sink_t *sink = find_sink_by_name(&hound->sinks, sink_name);
-	audio_source_t *source = sink ?  find_source_by_name(&sink->sources, source_name) : NULL;
+
+	audio_sink_t *sink =
+	    audio_sink_list_instance(list_first(&hound->sinks));
+	if (str_cmp(sink_name, "default") != 0)
+	    sink = find_sink_by_name(&hound->sinks, sink_name);
+
+	audio_source_t *source =
+	    audio_source_list_instance(list_first(&hound->sources));
+	if (str_cmp(source_name, "default") != 0)
+	    source = sink ? find_source_by_name(&sink->sources, source_name) : NULL;
 	if (!source || !sink) {
 		log_debug("Source (%p), or sink (%p) not found", source, sink);
