diff --git a/lib/cpp/src/transport/TSocket.cpp b/lib/cpp/src/transport/TSocket.cpp
index ce1ddcb..5da33bb 100644
--- a/lib/cpp/src/transport/TSocket.cpp
+++ b/lib/cpp/src/transport/TSocket.cpp
@@ -127,7 +127,7 @@
 
 void TSocket::openConnection(struct addrinfo *res) {
   if (isOpen()) {
-    throw TTransportException(TTransportException::ALREADY_OPEN);
+    return;
   }
 
   socket_ = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
@@ -235,7 +235,7 @@
 
 void TSocket::open() {
   if (isOpen()) {
-    throw TTransportException(TTransportException::ALREADY_OPEN);
+    return;
   }
 
   // Validate port number
diff --git a/lib/cpp/src/transport/TSocket.h b/lib/cpp/src/transport/TSocket.h
index 70c167f..0184362 100644
--- a/lib/cpp/src/transport/TSocket.h
+++ b/lib/cpp/src/transport/TSocket.h
@@ -193,13 +193,12 @@
    */
   static bool getUseLowMinRto();
 
- protected:
   /**
-   * Constructor to create socket from raw UNIX handle. Never called directly
-   * but used by the TServerSocket class.
+   * Constructor to create socket from raw UNIX handle.
    */
   TSocket(int socket);
 
+ protected:
   /** connect, called by open */
   void openConnection(struct addrinfo *res);
 
diff --git a/lib/cpp/src/transport/TTransportException.h b/lib/cpp/src/transport/TTransportException.h
index a3ad02b..e0630ef 100644
--- a/lib/cpp/src/transport/TTransportException.h
+++ b/lib/cpp/src/transport/TTransportException.h
@@ -41,13 +41,12 @@
   enum TTransportExceptionType
   { UNKNOWN = 0
   , NOT_OPEN = 1
-  , ALREADY_OPEN = 2
-  , TIMED_OUT = 3
-  , END_OF_FILE = 4
-  , INTERRUPTED = 5
-  , BAD_ARGS = 6
-  , CORRUPTED_DATA = 7
-  , INTERNAL_ERROR = 8
+  , TIMED_OUT = 2
+  , END_OF_FILE = 3
+  , INTERRUPTED = 4
+  , BAD_ARGS = 5
+  , CORRUPTED_DATA = 6
+  , INTERNAL_ERROR = 7
   };
 
   TTransportException() :
@@ -89,7 +88,6 @@
       switch (type_) {
         case UNKNOWN        : return "TTransportException: Unknown transport exception";
         case NOT_OPEN       : return "TTransportException: Transport not open";
-        case ALREADY_OPEN   : return "TTransportException: Transport already open";
         case TIMED_OUT      : return "TTransportException: Timed out";
         case END_OF_FILE    : return "TTransportException: End of file";
         case INTERRUPTED    : return "TTransportException: Interrupted";
