diff --git a/libi2pd/NTCP2.cpp b/libi2pd/NTCP2.cpp
index 0976720e..f52d8268 100644
--- a/libi2pd/NTCP2.cpp
+++ b/libi2pd/NTCP2.cpp
@@ -1165,11 +1165,11 @@ namespace transport
 						} 
 						catch ( std::exception & ex ) 
 						{
-							LogPrint(eLogError, "NTCP2: Failed to bind to ip4 port ",address->port, ex.what());
+							LogPrint(eLogError, "NTCP2: Failed to bind to v4 port ",address->port, ex.what());
 							continue;
 						}
 
-						LogPrint (eLogInfo, "NTCP2: Start listening TCP port ", address->port);
+						LogPrint (eLogInfo, "NTCP2: Start listening v4 TCP port ", address->port);
 						auto conn = std::make_shared<NTCP2Session>(*this);
 						m_NTCP2Acceptor->async_accept(conn->GetSocket (), std::bind (&NTCP2Server::HandleAccept, this, conn, std::placeholders::_1));
 					}
@@ -1184,11 +1184,11 @@ namespace transport
 							m_NTCP2V6Acceptor->bind (boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v6(), address->port));
 							m_NTCP2V6Acceptor->listen ();
 
-							LogPrint (eLogInfo, "NTCP2: Start listening V6 TCP port ", address->port);
+							LogPrint (eLogInfo, "NTCP2: Start listening v6 TCP port ", address->port);
 							auto conn = std::make_shared<NTCP2Session> (*this);
 							m_NTCP2V6Acceptor->async_accept(conn->GetSocket (), std::bind (&NTCP2Server::HandleAcceptV6, this, conn, std::placeholders::_1));
 						} catch ( std::exception & ex ) {
-							LogPrint(eLogError, "NTCP2: failed to bind to ip6 port ", address->port);
+							LogPrint(eLogError, "NTCP2: failed to bind to v6 port ", address->port);
 							continue;
 						}
 					}
diff --git a/libi2pd/NTCPSession.cpp b/libi2pd/NTCPSession.cpp
index 6127ddce..a30cee94 100644
--- a/libi2pd/NTCPSession.cpp
+++ b/libi2pd/NTCPSession.cpp
@@ -835,12 +835,12 @@ namespace transport
 								m_NTCPAcceptor->bind (boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), address->port));
 								m_NTCPAcceptor->listen ();
 
-								LogPrint (eLogInfo, "NTCP: Start listening IPv4 TCP port ", address->port);
+								LogPrint (eLogInfo, "NTCP: Start listening v4 TCP port ", address->port);
 								auto conn = std::make_shared<NTCPSession>(*this);
 								m_NTCPAcceptor->async_accept(conn->GetSocket (), std::bind (&NTCPServer::HandleAccept, this, conn, std::placeholders::_1));
 							} catch ( std::exception & ex ) {
 								/** fail to bind IPv4 */
-								LogPrint(eLogError, "NTCP: Failed to bind to IPv4 port ",address->port, ex.what());
+								LogPrint(eLogError, "NTCP: Failed to bind to v4 port ", address->port, ": ", ex.what());
 								continue;
 							}
 
@@ -856,12 +856,12 @@ namespace transport
 								m_NTCPV6Acceptor->bind (boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v6(), address->port));
 								m_NTCPV6Acceptor->listen ();
 
-								LogPrint (eLogInfo, "NTCP: Start listening IPv6 TCP port ", address->port);
+								LogPrint (eLogInfo, "NTCP: Start listening v6 TCP port ", address->port);
 								auto conn = std::make_shared<NTCPSession> (*this);
 								m_NTCPV6Acceptor->async_accept(conn->GetSocket (), std::bind (&NTCPServer::HandleAcceptV6, this, conn, std::placeholders::_1));
 							} catch ( std::exception & ex ) {
 								/** fail to bind IPv6 */
-								LogPrint(eLogError, "NTCP: failed to bind to IPv6 port ", address->port);
+								LogPrint(eLogError, "NTCP: failed to bind to v6 port ", address->port, ": ", ex.what());
 								continue;
 							}
 						}
diff --git a/libi2pd/SSU.cpp b/libi2pd/SSU.cpp
index 3e3db88f..bb4195f6 100644
--- a/libi2pd/SSU.cpp
+++ b/libi2pd/SSU.cpp
@@ -32,19 +32,29 @@ namespace transport
 
 	void SSUServer::OpenSocket ()
 	{
-		m_Socket.open (boost::asio::ip::udp::v4());
-		m_Socket.set_option (boost::asio::socket_base::receive_buffer_size (SSU_SOCKET_RECEIVE_BUFFER_SIZE));
-		m_Socket.set_option (boost::asio::socket_base::send_buffer_size (SSU_SOCKET_SEND_BUFFER_SIZE));
-		m_Socket.bind (m_Endpoint);
+		try {
+			m_Socket.open (boost::asio::ip::udp::v4());
+			m_Socket.set_option (boost::asio::socket_base::receive_buffer_size (SSU_SOCKET_RECEIVE_BUFFER_SIZE));
+			m_Socket.set_option (boost::asio::socket_base::send_buffer_size (SSU_SOCKET_SEND_BUFFER_SIZE));
+			m_Socket.bind (m_Endpoint);
+			LogPrint (eLogInfo, "SSU: Start listening v4 port ", m_Endpoint.port());
+		} catch ( std::exception & ex ) {
+			LogPrint (eLogError, "SSU: failed to bind to v4 port ", m_Endpoint.port(), ": ", ex.what());
+		}
 	}
 
 	void SSUServer::OpenSocketV6 ()
 	{
-		m_SocketV6.open (boost::asio::ip::udp::v6());
-		m_SocketV6.set_option (boost::asio::ip::v6_only (true));
-		m_SocketV6.set_option (boost::asio::socket_base::receive_buffer_size (SSU_SOCKET_RECEIVE_BUFFER_SIZE));
-		m_SocketV6.set_option (boost::asio::socket_base::send_buffer_size (SSU_SOCKET_SEND_BUFFER_SIZE));
-		m_SocketV6.bind (m_EndpointV6);
+		try {
+			m_SocketV6.open (boost::asio::ip::udp::v6());
+			m_SocketV6.set_option (boost::asio::ip::v6_only (true));
+			m_SocketV6.set_option (boost::asio::socket_base::receive_buffer_size (SSU_SOCKET_RECEIVE_BUFFER_SIZE));
+			m_SocketV6.set_option (boost::asio::socket_base::send_buffer_size (SSU_SOCKET_SEND_BUFFER_SIZE));
+			m_SocketV6.bind (m_EndpointV6);
+			LogPrint (eLogInfo, "SSU: Start listening v6 port ", m_EndpointV6.port());
+		} catch ( std::exception & ex ) {
+			LogPrint (eLogError, "SSU: failed to bind to v6 port ", m_EndpointV6.port(), ": ", ex.what());
+		}
 	}
 
 	void SSUServer::Start ()