diff --git a/src/fileFormats/stl/STLCore.C b/src/fileFormats/stl/STLCore.C
index 69749a70ff18c0330640e75eb4fd34635e1ff9db..7e0c2d0ee1261985b6430935c888d71629d9d8d1 100644
--- a/src/fileFormats/stl/STLCore.C
+++ b/src/fileFormats/stl/STLCore.C
@@ -135,8 +135,9 @@ int Foam::fileFormats::STLCore::detectBinaryHeader
 
         bad =
             (
-                nTris < int(dataFileSize - STLHeaderSize)/50
-             || nTris > int(dataFileSize - STLHeaderSize)/25
+                dataFileSize < STLHeaderSize
+             || nTris < (dataFileSize - STLHeaderSize)/50
+             || nTris > (dataFileSize - STLHeaderSize)/25
             );
     }
 
@@ -208,8 +209,9 @@ Foam::fileFormats::STLCore::readBinaryHeader
 
         bad =
             (
-                nTris < int(dataFileSize - STLHeaderSize)/50
-             || nTris > int(dataFileSize - STLHeaderSize)/25
+                dataFileSize < STLHeaderSize
+             || nTris < (dataFileSize - STLHeaderSize)/50
+             || nTris > (dataFileSize - STLHeaderSize)/25
             );
     }