diff --git a/src/fileFormats/stl/STLCore.C b/src/fileFormats/stl/STLCore.C
index c51b4edbeedd49b2d0b9732b2432b9c689239df7..f142549b3791525a85e382b240b88936c3c017e6 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
             );
     }