diff --git a/Framework/MDAlgorithms/src/CalculateCoverageDGS.cpp b/Framework/MDAlgorithms/src/CalculateCoverageDGS.cpp
index 4383a4134ce670da98313227db19273b574fb414..34c4b379a20106da59ab5e56e3c35a56ec47234f 100644
--- a/Framework/MDAlgorithms/src/CalculateCoverageDGS.cpp
+++ b/Framework/MDAlgorithms/src/CalculateCoverageDGS.cpp
@@ -425,7 +425,9 @@ void CalculateCoverageDGS::exec() {
       std::vector<coord_t> pos(4);
       std::transform(curIntSec.getBareArray(), curIntSec.getBareArray() + 4,
                      prevIntSec.getBareArray(), pos.begin(),
-                     VectorHelper::SimpleAverage<double>());
+                     [](const double lhs, const double rhs) {
+                       return static_cast<coord_t>(0.5 * (lhs + rhs));
+                     });
       // transform kf to energy transfer
       pos[3] = static_cast<coord_t>(m_Ei - pos[3] * pos[3] / energyToK);
 
diff --git a/Framework/MDAlgorithms/src/MDNormDirectSC.cpp b/Framework/MDAlgorithms/src/MDNormDirectSC.cpp
index c4ca06ff0f135c8685d780fc9b15bcf749480f03..62a274ad3d19f684ab7b5d590bd6c3fd0fb85be5 100644
--- a/Framework/MDAlgorithms/src/MDNormDirectSC.cpp
+++ b/Framework/MDAlgorithms/src/MDNormDirectSC.cpp
@@ -528,7 +528,9 @@ for (int64_t i = 0; i < ndets; i++) {
     // Average between two intersections for final position
     std::transform(curIntSec.data(), curIntSec.data() + vmdDims,
                    prevIntSec.data(), pos.begin(),
-                   VectorHelper::SimpleAverage<coord_t>());
+                   [](const double rhs, const double lhs) {
+                     return static_cast<coord_t>(0.5 * (rhs + lhs));
+                   });
 
     // transform kf to energy transfer
     pos[3] = static_cast<coord_t>(m_Ei - pos[3] * pos[3] / energyToK);
diff --git a/Framework/MDAlgorithms/src/MDNormSCD.cpp b/Framework/MDAlgorithms/src/MDNormSCD.cpp
index 2d4d6ba7423387dc9d7c9cc15da572903cf7252f..81ef15bd60e61e449b787fac442076d914d3ae66 100644
--- a/Framework/MDAlgorithms/src/MDNormSCD.cpp
+++ b/Framework/MDAlgorithms/src/MDNormSCD.cpp
@@ -491,7 +491,9 @@ for (int64_t i = 0; i < ndets; i++) {
     // Average between two intersections for final position
     std::transform(curIntSec.begin(), curIntSec.begin() + vmdDims - 1,
                    prevIntSec.begin(), pos.begin(),
-                   VectorHelper::SimpleAverage<coord_t>());
+                   [](const double lhs, const double rhs) {
+                     return static_cast<coord_t>(0.5 * (lhs + rhs));
+                   });
     affineTrans.multiplyPoint(pos, posNew);
     size_t linIndex = m_normWS->getLinearIndexAtCoord(posNew.data());
     if (linIndex == size_t(-1))
diff --git a/Framework/Nexus/src/NexusClasses.cpp b/Framework/Nexus/src/NexusClasses.cpp
index b078e3ed2f07606a07dded4f8947d3e43fe86d44..e1cb32b2aa199d2f9532b7464b328f6ebe109479 100644
--- a/Framework/Nexus/src/NexusClasses.cpp
+++ b/Framework/Nexus/src/NexusClasses.cpp
@@ -656,8 +656,8 @@ Kernel::Property *NXLog::createTimeSeries(const std::string &start_time,
     times.load();
     std::string units = times.attributes("units");
     if (units == "minutes") {
-      std::transform(times(), times() + times.dim0(), times(),
-                     std::bind2nd(std::multiplies<float>(), 60));
+      std::for_each(times(), times() + times.dim0(),
+                    [](float &val) { val *= 60.0f; });
     } else if (!units.empty() && units.substr(0, 6) != "second") {
       return nullptr;
     }
diff --git a/buildconfig/CMake/Bootstrap.cmake b/buildconfig/CMake/Bootstrap.cmake
index b011bf2ee1b4e0d2585236d1dbb352e1a686e5a2..d5217b112f3cc52bf4fad92319fb7de2814a40f7 100644
--- a/buildconfig/CMake/Bootstrap.cmake
+++ b/buildconfig/CMake/Bootstrap.cmake
@@ -10,7 +10,7 @@ if( MSVC )
   include ( ExternalProject )
   set( EXTERNAL_ROOT ${PROJECT_SOURCE_DIR}/external CACHE PATH "Location to clone third party dependencies to" )
   set( THIRD_PARTY_GIT_URL "https://github.com/mantidproject/thirdparty-msvc2015.git" )
-  set ( THIRD_PARTY_GIT_SHA1 3a402b45d800ed0c7bb25de532e86e22fd258378 )
+  set ( THIRD_PARTY_GIT_SHA1 f24928c1daf7e58a731d6e6aa7f0c4d1ee225915 )
   set ( THIRD_PARTY_DIR ${EXTERNAL_ROOT}/src/ThirdParty )
   # Generates a script to do the clone/update in tmp
   set ( _project_name ThirdParty )