diff --git a/libvoice/common.c b/libvoice/common.c
index d2ace089236100f9c4d99bddd2015309c11bc617..f75cdd43852e439bb0e335f5ed536e6a5d40add4 100644
--- a/libvoice/common.c
+++ b/libvoice/common.c
@@ -96,7 +96,8 @@ int voice_connection_find(int line, int connection)
 	int conIdx;
 
 	for(conIdx = 0; conIdx < max_num_connections; conIdx++) {
-		if(connections[conIdx].line == line && connections[conIdx].connection_id == connection) {
+		// If connection is -1, it means any connection on the line
+		if(connections[conIdx].line == line && (connections[conIdx].connection_id == connection || connection == -1)) {
 			return conIdx;
 		}
 	}