diff --git a/SystemTools.cxx b/SystemTools.cxx
index 880b2d2c3d620479c6d7640eba5f2ef70e294b00..8ec30580975b40e63adddfe07fd6c69ff003d778 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -3010,7 +3010,11 @@ bool SystemTools::FileIsDirectory(const std::string& inName)
 
 bool SystemTools::FileIsExecutable(const std::string& name)
 {
+#if defined(_WIN32)
+  return SystemTools::FileExists(name, true);
+#else
   return !FileIsDirectory(name) && TestFileAccess(name, TEST_FILE_EXECUTE);
+#endif
 }
 
 bool SystemTools::FileIsSymlink(const std::string& name)