diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4d25fdf..96ae6d1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -104,7 +104,7 @@
 # under the MPL.
 OPTION(EIGENSPARSE
   "Enable Eigen as a sparse linear algebra library, WARNING: results in an LGPL licensed Ceres." OFF)
-if (NOT WIN32)
+if (NOT MSVC)
   # Ceres does not use C++11 internally, however it does use shared_ptr
   # (required) and unordered_map (if available), both of which were present in
   # previous iterations of what became C++11.  GCC & Clang can have both TR1 &
@@ -115,10 +115,12 @@
   # Enabling this option forces the use of the C++11 versions (& -std=c++11) if
   # available.
   #
-  # This option is not available on Windows, as there, any new (C++11 etc)
-  # features available are on by default and there is no analogue to -std=c++11.
+  # This option is not available on Windows when using MSVC, as there, any new
+  # (C++11 etc) features available are on by default and there is no analogue to
+  # -std=c++11.  It will however be available for MinGW & CygWin, which can
+  # support -std=c++11.
   option(CXX11 "Enable use of C++11 headers if available (requires client code use C++11)." OFF)
-endif(NOT WIN32)
+endif(NOT MSVC)
 option(EXPORT_BUILD_DIR
   "Export build directory using CMake (enables external use without install)." OFF)
 option(BUILD_TESTING "Enable tests" ON)
diff --git a/docs/source/building.rst b/docs/source/building.rst
index f7d30d5..af5c30a 100644
--- a/docs/source/building.rst
+++ b/docs/source/building.rst
@@ -546,7 +546,7 @@
    multi-threading with ``OpenMP`` is not supported. Turn this ``OFF``
    to disable multi-threading.
 
-#. ``CXX11 [Default: OFF]`` *Non-Windows platforms only*.
+#. ``CXX11 [Default: OFF]`` *Non-MSVC compilers only*.
 
    Although Ceres does not currently use C++11, it does use ``shared_ptr``
    (required) and ``unordered_map`` (if available); both of which existed in the
@@ -554,7 +554,7 @@
    Ceres can compile on pre-C++11 compilers, using the TR1/C++0x versions of
    ``shared_ptr`` & ``unordered_map``.
 
-   Note that on Linux (GCC & Clang), compiling against the TR1/C++0x versions:
+   Note that when using GCC & Clang, compiling against the TR1/C++0x versions:
    ``CXX11=OFF`` (the default) *does not* require ``-std=c++11`` when compiling
    Ceres, *nor* does it require that any client code using Ceres use
    ``-std=c++11``.   However, this will cause compile errors if any client code
@@ -587,9 +587,10 @@
    OS X 10.9+           ON          std               **Yes**
    ===================  ==========  ================  ======================================
 
-   The ``CXX11`` option does does not exist for Windows, as there any new C++
-   features available are enabled by default, and there is no analogue of
-   ``-std=c++11``.
+   The ``CXX11`` option does does not exist when using MSVC, as there any new
+   C++ features available are enabled by default, and there is no analogue of
+   ``-std=c++11``.  It will however be available on MinGW & CygWin, which can
+   support ``-std=c++11``.
 
 #. ``BUILD_SHARED_LIBS [Default: OFF]``: By default Ceres is built as
    a static library, turn this ``ON`` to instead build Ceres as a
