diff --git a/tests/integrated-tests/test-socket.cpp b/tests/integrated-tests/test-socket.cpp
index 4b81554..d06c19d 100644
--- a/tests/integrated-tests/test-socket.cpp
+++ b/tests/integrated-tests/test-socket.cpp
@@ -96,8 +96,9 @@
     // std::cerr << "fetchAll" << std::endl;
     for (int i = 0; i < v.size(); i++) {
       for(SeqNo s = v[i].low; s <= v[i].high; ++s) {
-        socket.fetchData(v[i].session, s,
-                         bind(&SocketTestApp::set, this, _1));
+        socket.fetchData(v[i].session, s, [this] (const shared_ptr<const Data>& dataPacket) {
+            this->set(dataPacket);
+          });
       }
     }
   }
@@ -108,8 +109,9 @@
     // std::cerr << "fetchNumbers" << std::endl;
     for (int i = 0; i < v.size(); i++) {
       for(SeqNo s = v[i].low; s <= v[i].high; ++s) {
-        socket.fetchData(v[i].session, s,
-                         bind(&SocketTestApp::setNum, this, _1));
+        socket.fetchData(v[i].session, s, [this] (const shared_ptr<const Data>& dataPacket) {
+            this->setNum(dataPacket);
+          });
       }
     }
   }
