diff --git a/tests/unit-tests/test-socket.cpp b/tests/unit-tests/test-socket.cpp
index 5bfcecf..4e3f4da 100644
--- a/tests/unit-tests/test-socket.cpp
+++ b/tests/unit-tests/test-socket.cpp
@@ -98,7 +98,7 @@
   fetchAll(const vector<MissingDataInfo>& v)
   {
     // std::cerr << "fetchAll" << std::endl;
-    for (int i = 0; i < v.size(); i++) {
+    for (size_t i = 0; i < v.size(); i++) {
       for(SeqNo s = v[i].low; s <= v[i].high; ++s) {
         socket.fetchData(v[i].session, s, [this] (const shared_ptr<const Data>& dataPacket) {
             this->set(dataPacket);
@@ -111,7 +111,7 @@
   fetchNumbers(const vector<MissingDataInfo> &v)
   {
     // std::cerr << "fetchNumbers" << std::endl;
-    for (int i = 0; i < v.size(); i++) {
+    for (size_t i = 0; i < v.size(); i++) {
       for(SeqNo s = v[i].low; s <= v[i].high; ++s) {
         socket.fetchData(v[i].session, s, [this] (const shared_ptr<const Data>& dataPacket) {
             this->setNum(dataPacket);
