diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt
index 5c2657ccbfbfc5c24c5cb5ff4d01b22311a580a9..dbc9436dcf651e661628b09e5597ad2a5c06e872 100644
--- a/indra/CMakeLists.txt
+++ b/indra/CMakeLists.txt
@@ -14,6 +14,10 @@ if (NOT CMAKE_BUILD_TYPE)
       "Build type.  One of: Debug Release RelWithDebInfo" FORCE)
 endif (NOT CMAKE_BUILD_TYPE)
 
+# For the library installation process;
+# see cmake/Prebuild.cmake for the counterpart code.
+file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/temp)
+file(WRITE ${CMAKE_BINARY_DIR}/temp/sentinel_installed "0")
 add_subdirectory(cmake)
 
 add_subdirectory(${LIBS_OPEN_PREFIX}llaudio)
diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake
index 33cdeeeed5217c9f68cb84e88cf7ed969599b84b..5eba28b66b9e27535d45b3051677b73eed4946b0 100644
--- a/indra/cmake/Prebuilt.cmake
+++ b/indra/cmake/Prebuilt.cmake
@@ -4,17 +4,22 @@ include(Python)
 
 macro (use_prebuilt_binary _binary)
   if (NOT STANDALONE)
-    execute_process(COMMAND ${PYTHON_EXECUTABLE}
-                    install.py 
-                    --install-dir=${CMAKE_SOURCE_DIR}/..
-                    ${_binary}
-                    WORKING_DIRECTORY ${SCRIPTS_DIR}
-                    RESULT_VARIABLE _installed
-                    )
-    if (NOT _installed EQUAL 0)
+    if(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed)
+      execute_process(COMMAND ${PYTHON_EXECUTABLE}
+        install.py 
+        --install-dir=${CMAKE_SOURCE_DIR}/..
+        ${_binary}
+        WORKING_DIRECTORY ${SCRIPTS_DIR}
+        RESULT_VARIABLE ${_binary}_installed
+        )
+      file(WRITE ${CMAKE_BINARY_DIR}/temp/${_binary}_installed "${${_binary}_installed}")
+    else(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed)
+      set(${_binary}_installed 0)
+    endif(${CMAKE_BINARY_DIR}/temp/sentinel_installed IS_NEWER_THAN ${CMAKE_BINARY_DIR}/temp/${_binary}_installed)
+    if(NOT ${_binary}_installed EQUAL 0)
       message(FATAL_ERROR
               "Failed to download or unpack prebuilt '${_binary}'."
-              " Process returned ${_installed}.")
-    endif (NOT _installed EQUAL 0)
+              " Process returned ${${_binary}_installed}.")
+    endif (NOT ${_binary}_installed EQUAL 0)
   endif (NOT STANDALONE)
 endmacro (use_prebuilt_binary _binary)