diff --git a/testSystemTools.cxx b/testSystemTools.cxx
index 1e3947e49666be97ad727a3df5748e670d7a70a1..8e1ea258a806d315ff97e232bc2f9f9a2899eca8 100644
--- a/testSystemTools.cxx
+++ b/testSystemTools.cxx
@@ -894,10 +894,10 @@ static bool CheckGetLineFromStream()
 
   bool ret = true;
 
-  for (long size = 1; size <= 5; ++size) {
+  for (size_t size = 1; size <= 5; ++size) {
     file.seekg(0, std::ios::beg);
-    result =
-      kwsys::SystemTools::GetLineFromStream(file, line, &has_newline, size);
+    result = kwsys::SystemTools::GetLineFromStream(file, line, &has_newline,
+                                                   static_cast<long>(size));
     if (!result || line.size() != size) {
       std::cerr << "Should have read " << size << " characters but got "
                 << line.size() << std::endl;