diff --git a/SystemTools.cxx b/SystemTools.cxx
index 9b56db066b3e8e664678c0c1bcbe552d9f7b981a..d479ee144c0287ecf6e996ccba02bf89d33ceac9 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -1320,9 +1320,14 @@ bool SystemTools::FileExists(const std::string& filename)
   return (GetFileAttributesW(
             SystemTools::ConvertToWindowsExtendedPath(filename).c_str())
           != INVALID_FILE_ATTRIBUTES);
+#else
+// SCO OpenServer 5.0.7/3.2's command has 711 permission.
+#if defined(_SCO_DS)
+  return access(filename.c_str(), F_OK) == 0;
 #else
   return access(filename.c_str(), R_OK) == 0;
 #endif
+#endif
 }
 
 //----------------------------------------------------------------------------