diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 1253c0971c2d30dcd293e112716d645f85ff64a7..e213087f4077089c867b0785f7810bbaed3eb8e7 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -52,9 +52,19 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR} )
 
 if (NOT HAVOK_TPV)
    # When using HAVOK_TPV, the library is precompiled, so no need for this
+
+   # Stub and probably havok lib itself is a hack, autobuild loads a 3p that really is a source tarball
+   # which includes a CMakeList.txt and then this whole source tree gets pushed into out build ... :/
+   # To make matters worse there is a internal assumption about the structure of the viewers CMake layout,
+   # which means we need to duct tape this togther ...
+   get_property( LLCOMMON_INCLUDE_DIRS TARGET llcommon PROPERTY INTERFACE_INCLUDE_DIRECTORIES )
+   get_property( LLMATH_INCLUDE_DIRS TARGET llmath PROPERTY INTERFACE_INCLUDE_DIRECTORIES )
+
    add_subdirectory(${LLPHYSICSEXTENSIONS_SRC_DIR} llphysicsextensions)
-   cmake_policy( SET CMP0079 NEW)
-   target_link_libraries(llphysicsextensionsstub llcommon llmath)
+
+   # Another hack that works with newer cmake versions:
+   #cmake_policy( SET CMP0079 NEW)
+   #target_link_libraries(llphysicsextensionsstub llcommon llmath)
 endif (NOT HAVOK_TPV)