diff --git a/Auxiliary/vim/syntax/cmake.vim b/Auxiliary/vim/syntax/cmake.vim
index 98d6ef1c1161c40fceea10fb404949499fbefcff..5c153c1cee7a429448ae06d35c1bf09ea01c6b6f 100644
--- a/Auxiliary/vim/syntax/cmake.vim
+++ b/Auxiliary/vim/syntax/cmake.vim
@@ -110,7 +110,7 @@ syn keyword cmakeKWctest_coverage contained
             \ APPEND BUILD CAPTURE_CMAKE_ERROR LABELS QUIET RETURN_VALUE
 
 syn keyword cmakeKWctest_memcheck contained
-            \ APPEND BUILD DEFECT_COUNT EXCLUDE EXCLUDE_FIXTURE EXCLUDE_FIXTURE_CLEANUP EXCLUDE_FIXTURE_SETUP EXCLUDE_LABEL INCLUDE INCLUDE_LABEL OFF ON PARALLEL_LEVEL QUIET RETURN_VALUE SCHEDULE_RANDOM START STOP_TIME STRIDE TEST_LOAD
+            \ APPEND BUILD CAPTURE_CMAKE_ERROR DEFECT_COUNT EXCLUDE EXCLUDE_FIXTURE EXCLUDE_FIXTURE_CLEANUP EXCLUDE_FIXTURE_SETUP EXCLUDE_LABEL INCLUDE INCLUDE_LABEL OFF ON PARALLEL_LEVEL QUIET RETURN_VALUE SCHEDULE_RANDOM START STOP_TIME STRIDE TEST_LOAD
 
 syn keyword cmakeKWctest_run_script contained
             \ NEW_PROCESS RETURN_VALUE
@@ -119,13 +119,13 @@ syn keyword cmakeKWctest_start contained
             \ APPEND QUIET TAG TRACK
 
 syn keyword cmakeKWctest_submit contained
-            \ API CDASH_UPLOAD CDASH_UPLOAD_TYPE CTEST_EXTRA_SUBMIT_FILES CTEST_NOTES_FILES FILES HTTPHEADER PARTS QUIET RETRY_COUNT RETRY_DELAY RETURN_VALUE
+            \ API CAPTURE_CMAKE_ERROR CDASH_UPLOAD CDASH_UPLOAD_TYPE CTEST_EXTRA_SUBMIT_FILES CTEST_NOTES_FILES FILES HTTPHEADER PARTS QUIET RETRY_COUNT RETRY_DELAY RETURN_VALUE
 
 syn keyword cmakeKWctest_test contained
             \ APPEND BUILD CAPTURE_CMAKE_ERROR CPU EXCLUDE EXCLUDE_FIXTURE EXCLUDE_FIXTURE_CLEANUP EXCLUDE_FIXTURE_SETUP EXCLUDE_LABEL INCLUDE INCLUDE_LABEL OFF ON PARALLEL_LEVEL QUIET RETURN_VALUE SCHEDULE_RANDOM START STOP_TIME STRIDE TEST_LOAD
 
 syn keyword cmakeKWctest_update contained
-            \ QUIET RETURN_VALUE SOURCE
+            \ CAPTURE_CMAKE_ERROR QUIET RETURN_VALUE SOURCE
 
 syn keyword cmakeKWctest_upload contained
             \ CAPTURE_CMAKE_ERROR FILES QUIET
diff --git a/Help/command/ctest_submit.rst b/Help/command/ctest_submit.rst
index a41279286346b5baac488c5bcae92dd1f57e66a0..2ba6bef3d12d71dbfb274a4f9c841f8a668a8444 100644
--- a/Help/command/ctest_submit.rst
+++ b/Help/command/ctest_submit.rst
@@ -10,6 +10,7 @@ Perform the :ref:`CTest Submit Step` as a :ref:`Dashboard Client`.
                [RETRY_COUNT <count>]
                [RETRY_DELAY <delay>]
                [RETURN_VALUE <result-var>]
+               [CAPTURE_CMAKE_ERROR <result-var>]
                [QUIET]
                )
 
@@ -52,6 +53,10 @@ The options are:
   Store in the ``<result-var>`` variable ``0`` for success and
   non-zero on failure.
 
+``CAPTURE_CMAKE_ERROR <result-var>``
+  Store in the ``<result-var>`` variable -1 if there are any errors running
+  the command and prevent ctest from returning non-zero if an error occurs.
+
 ``QUIET``
   Suppress all non-error messages that would have otherwise been
   printed to the console.
diff --git a/Help/command/ctest_update.rst b/Help/command/ctest_update.rst
index b205bca93359671722ea7372e485bd837c8bea67..df1a4e560919190d34b1795d5ff726133ee68e22 100644
--- a/Help/command/ctest_update.rst
+++ b/Help/command/ctest_update.rst
@@ -5,7 +5,10 @@ Perform the :ref:`CTest Update Step` as a :ref:`Dashboard Client`.
 
 ::
 
-  ctest_update([SOURCE <source-dir>] [RETURN_VALUE <result-var>] [QUIET])
+  ctest_update([SOURCE <source-dir>]
+               [RETURN_VALUE <result-var>]
+               [CAPTURE_CMAKE_ERROR <result-var>]
+               [QUIET])
 
 Update the source tree from version control and record results in
 ``Update.xml`` for submission with the :command:`ctest_submit` command.
@@ -20,6 +23,10 @@ The options are:
   Store in the ``<result-var>`` variable the number of files
   updated or ``-1`` on error.
 
+``CAPTURE_CMAKE_ERROR <result-var>``
+  Store in the ``<result-var>`` variable -1 if there are any errors running
+  the command and prevent ctest from returning non-zero if an error occurs.
+
 ``QUIET``
   Tell CTest to suppress most non-error messages that it would
   have otherwise printed to the console.  CTest will still report