diff --git a/lib/cpp/src/protocol/TBinaryProtocol.cc b/lib/cpp/src/protocol/TBinaryProtocol.cc
index f1e4ec9..7ad3b2b 100644
--- a/lib/cpp/src/protocol/TBinaryProtocol.cc
+++ b/lib/cpp/src/protocol/TBinaryProtocol.cc
@@ -5,9 +5,11 @@
 namespace facebook { namespace thrift { namespace protocol { 
 
 uint32_t TBinaryProtocol::writeMessageBegin(shared_ptr<TTransport> out,
+					    const std::string name,
 					    const TMessageType messageType,
 					    const uint32_t seqid) const {
   return 
+    writeString(out, name) + 
     writeByte(out, (uint8_t)messageType) +
     writeU32(out, seqid);
 }
@@ -134,11 +136,13 @@
  */
 
 uint32_t TBinaryProtocol::readMessasgeBegin(shared_ptr<TTransport> in,
+					    std::string& name,
 					    TMessageType& messageType,
 					    uint32_t& seqid) const {
 
   uint32_t result = 0;
   uint8_t type;
+  result+= readString(in, name);
   result+=  readByte(in, type);
   messageType = (TMessageType)type;
   result+= readU32(in, seqid);
diff --git a/lib/cpp/src/protocol/TBinaryProtocol.h b/lib/cpp/src/protocol/TBinaryProtocol.h
index 89f4d4a..e70f687 100644
--- a/lib/cpp/src/protocol/TBinaryProtocol.h
+++ b/lib/cpp/src/protocol/TBinaryProtocol.h
@@ -25,6 +25,7 @@
    */
 
   virtual uint32_t writeMessageBegin(shared_ptr<TTransport> out,
+				     const std::string name,
 				     const TMessageType messageType,
 				     const uint32_t seqid) const;
 
@@ -97,8 +98,9 @@
 
 
   uint32_t readMessasgeBegin(shared_ptr<TTransport> in,
-			      TMessageType& messageType,
-			      uint32_t& seqid) const;
+			     std::string& name,
+			     TMessageType& messageType,
+			     uint32_t& seqid) const;
 
   uint32_t readMessageEnd(shared_ptr<TTransport> in) const;
 
diff --git a/lib/cpp/src/protocol/TProtocol.h b/lib/cpp/src/protocol/TProtocol.h
index 329b7bf..7dbb4a0 100644
--- a/lib/cpp/src/protocol/TProtocol.h
+++ b/lib/cpp/src/protocol/TProtocol.h
@@ -79,6 +79,7 @@
    */
 
   virtual uint32_t writeMessageBegin(shared_ptr<TTransport> out,
+				     const std::string name,
 				     const TMessageType messageType,
 				     const uint32_t seqid) const = 0;
 
@@ -150,8 +151,9 @@
    */
 
   virtual uint32_t readMessageBegin(shared_ptr<TTransport> in,
-				     TMessageType& messageType,
-				     uint32_t& seqid) const = 0;
+				    std::string& name,
+				    TMessageType& messageType,
+				    uint32_t& seqid) const = 0;
   
   virtual uint32_t readMessageEnd(shared_ptr<TTransport> in) const = 0;
 
