diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c
index 00b52f8..3663163 100644
--- a/src/libosmo-mgcp-client/mgcp_client.c
+++ b/src/libosmo-mgcp-client/mgcp_client.c
@@ -779,6 +779,42 @@
 	return mgcp;
 }
 
+static int init_socket(struct mgcp_client *mgcp)
+{
+	int rc;
+	struct osmo_wqueue *wq;
+	int i;
+
+	wq = &mgcp->wq;
+
+	for (i = 0; i < 100; i++) {
+
+		/* Initalize socket with the currently configured port
+		 * number */
+		rc = osmo_sock_init2_ofd(&wq->bfd, AF_INET, SOCK_DGRAM, IPPROTO_UDP, mgcp->actual.local_addr,
+					 mgcp->actual.local_port, mgcp->actual.remote_addr, mgcp->actual.remote_port,
+					 OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT);
+		if (rc > 0)
+			return rc;
+
+		/* If there is a different port than the default port
+		 * configured then we assume that the user has choosen
+		 * that port conciously and we will not try to resolve
+		 * this by silently choosing a different port. */
+		if (mgcp->actual.local_port != MGCP_CLIENT_LOCAL_PORT_DEFAULT)
+			return -EINVAL;
+
+		/* Choose a new port number to try next */
+		LOGP(DLMGCP, LOGL_NOTICE,
+		     "MGCPGW faild to bind to port %u, retrying with port %u -- check configuration!\n",
+		     mgcp->actual.local_port, mgcp->actual.local_port + 1);
+		mgcp->actual.local_port++;
+	}
+
+	LOGP(DLMGCP, LOGL_FATAL, "MGCPGW faild to find a port to bind on %i times.\n", i);
+	return -EINVAL;
+}
+
 /*! Initalize client connection (opens socket only, no request is sent yet)
  *  \param[in,out] mgcp MGCP client descriptor.
  *  \returns 0 on success, -EINVAL on error. */
@@ -795,10 +831,7 @@
 
 	wq = &mgcp->wq;
 
-	rc = osmo_sock_init2_ofd(&wq->bfd, AF_INET, SOCK_DGRAM, IPPROTO_UDP,
-				 mgcp->actual.local_addr, mgcp->actual.local_port,
-				 mgcp->actual.remote_addr, mgcp->actual.remote_port,
-				 OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT);
+	rc = init_socket(mgcp);
 	if (rc < 0) {
 		LOGP(DLMGCP, LOGL_FATAL,
 		     "Failed to initialize socket %s:%u -> %s:%u for MGCP GW: %s\n",
