diff --git a/.travis.yml b/.travis.yml
index 05a12124f21eacd1e53b307abade6dd64021e3c2..46aea2932092bbaa6ca6f64cc2a5cfe0cfe4059d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,6 +6,6 @@ dist: trusty
 compiler:
 - clang
 
-cache: false
+cache: ccache
 
 script: Utilities/Maintenance/TravisBuild.sh
diff --git a/Utilities/Maintenance/TravisBuild.cmake b/Utilities/Maintenance/TravisBuild.cmake
index 44e0c18b927b035398106a7b817df39be3cfadd9..0b6513fe1c581fe925952c734dfd87813e1f4401 100644
--- a/Utilities/Maintenance/TravisBuild.cmake
+++ b/Utilities/Maintenance/TravisBuild.cmake
@@ -36,6 +36,11 @@ set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_ERRORS 1000)
 set(CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 300)
 #set(CTEST_BUILD_FLAGS -j2)
 
+macro(do_submit)
+  ctest_submit()
+  return()
+endmacro()
+
 message(STATUS "CTEST_SOURCE_DIRECTORY: ${CTEST_SOURCE_DIRECTORY}")
 message(STATUS "CTEST_BINARY_DIRECTORY: ${CTEST_BINARY_DIRECTORY}")
 
@@ -85,15 +90,8 @@ if(NOT _build_rv EQUAL 0)
   do_submit()
 endif ()
 
-#ctest_test with extra verbose is annoying in travis build log.
-#Afer all these are unit-test without much revelent extra verbose output
 execute_process(COMMAND  ${CTEST_COMMAND} "-R" "Tu" "."
   WORKING_DIRECTORY "${CTEST_BINARY_DIRECTORY}"
   )
 
 do_submit()
-
-macro(do_submit)
-  ctest_submit()
-  return()
-endmacro()