diff --git a/ndn-cpp/encoding/BinaryXMLWireFormat.cpp b/ndn-cpp/encoding/BinaryXMLWireFormat.cpp
index 5789394..e89afaf 100644
--- a/ndn-cpp/encoding/BinaryXMLWireFormat.cpp
+++ b/ndn-cpp/encoding/BinaryXMLWireFormat.cpp
@@ -9,6 +9,7 @@
 #include "../c/encoding/BinaryXMLInterest.h"
 #include "../Interest.hpp"
 #include "BinaryXMLEncoder.hpp"
+#include "../c/encoding/BinaryXMLDecoder.h"
 #include "BinaryXMLWireFormat.hpp"
 
 using namespace std;
@@ -36,8 +37,11 @@
   struct ndn_Name nameStruct;
   ndn_Name_init(&nameStruct, components, sizeof(components) / sizeof(components[0]));
     
+  struct ndn_BinaryXMLDecoder decoder;
+  ndn_BinaryXMLDecoder_init(&decoder, (unsigned char *)input, inputLength);
+  
   char *error;
-  if (error = ndn_decodeBinaryXMLName(&nameStruct, (unsigned char *)input, inputLength))
+  if (error = ndn_decodeBinaryXMLName(&nameStruct, &decoder))
     throw std::runtime_error(error);
 
   name.set(nameStruct);
@@ -49,8 +53,11 @@
   struct ndn_Interest interestStruct;
   ndn_Interest_init(&interestStruct, components, sizeof(components) / sizeof(components[0]));
     
+  struct ndn_BinaryXMLDecoder decoder;
+  ndn_BinaryXMLDecoder_init(&decoder, (unsigned char *)input, inputLength);
+  
   char *error;
-  if (error = ndn_decodeBinaryXMLInterest(&interestStruct, (unsigned char *)input, inputLength))
+  if (error = ndn_decodeBinaryXMLInterest(&interestStruct, &decoder))
     throw std::runtime_error(error);
 
   interest.set(interestStruct);
