diff --git a/SystemTools.cxx b/SystemTools.cxx
index d3c37130bdc2bcbabd6a70287209383627c0f051..04bcb86bf91fd25d9fcb7927b4022f29927a7cc3 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -3582,7 +3582,7 @@ bool SystemTools::GetLineFromStream(kwsys_ios::istream& is,
     // if we read too much then truncate the buffer
     if (leftToRead > 0)
       {
-      if (length > leftToRead)
+      if (static_cast<long>(length) > leftToRead)
         {
         buffer[leftToRead-1] = 0;
         leftToRead = 0;