diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8b5befc5f3fcae8fa14b5934159e42c964fd703c..83ebe227d39bad951623ce7514fe45f5cd2d11f3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,11 +4,15 @@ IF(NOT KWSYS_NAMESPACE)
 ENDIF(NOT KWSYS_NAMESPACE)
 
 PROJECT(${KWSYS_NAMESPACE})
-INCLUDE(${CMAKE_ROOT}/Modules/TestForANSIStreamHeaders.cmake)
 INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFileCXX.cmake)
 INCLUDE(${CMAKE_ROOT}/Modules/TestForSTDNamespace.cmake)
 INCLUDE(${CMAKE_ROOT}/Modules/TestForANSIForScope.cmake)
 CHECK_INCLUDE_FILE_CXX("sstream" CMAKE_HAS_ANSI_STRING_STREAM)
+CHECK_INCLUDE_FILE_CXX("iosfwd" CMAKE_ANSI_IOSFWD_HEADER)
+
+IF(NOT CMAKE_ANSI_IOSFWD_HEADER)
+  SET(CMAKE_NO_ANSI_STREAM_HEADERS 1)
+ENDIF(NOT CMAKE_ANSI_IOSFWD_HEADER)
 
 IF(NOT CMAKE_HAS_ANSI_STRING_STREAM)
   SET(CMAKE_NO_ANSI_STRING_STREAM 1)