diff --git a/scripts/ci/extends/vs2019-environment.yml b/scripts/ci/extends/vs2019-environment.yml
index fc6fbcb592a8300dc095fa55fedb0e611e730066..98a71d017dda88c0547d1bd285bfc4480afe39a1 100644
--- a/scripts/ci/extends/vs2019-environment.yml
+++ b/scripts/ci/extends/vs2019-environment.yml
@@ -18,5 +18,6 @@
   before_script:
     - *load_vs_env
     # Load MKL environment
-    - '& "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"'
-    - $env:PATH += ";C:\Program Files (x86)\Intel\oneAPI\compiler\latest\windows\redist\intel64_win\compiler"
+    - '& "C:\Program Files (x86)\Intel\oneAPI\compiler\2022.1.0\env\vars.bat"'
+    - '& "C:\Program Files (x86)\Intel\oneAPI\mkl\2022.1.0\env\vars.bat"'
+    - $env:PATH += ";C:\Program Files (x86)\Intel\oneAPI\compiler\2022.1.0\windows\redist\intel64_win\compiler"
diff --git a/scripts/ci/jobs/build-win.yml b/scripts/ci/jobs/build-win.yml
index dc7ff5a782841efebc07aece3725c3a813a126de..2074a7ebf2ac03f923f91e6a29f3533d67704216 100644
--- a/scripts/ci/jobs/build-win.yml
+++ b/scripts/ci/jobs/build-win.yml
@@ -1,16 +1,17 @@
 build win:
   extends:
     - .template-build-win
+    # oneAPI MKL results in Stack overflow during compilation of MathLib on Visual Studio 2022
+    # therefore using 2019
     - .vs-environment
-    # oneAPI 2024 results in Stack overflow during compilation of MathLib
-    # - .vs-mkl-environment
+    - .vs-mkl-environment
   variables:
     CHECK_WARNINGS: "true"
     CMAKE_PRESET: release
-    # -DOGS_USE_MKL=ON
     CMAKE_ARGS: >-
       -DOGS_CI_TESTRUNNER_REPEAT=1
       -DOGS_USE_PIP=ON
+      -DOGS_USE_MKL=ON
 
 build win msvc:
   extends:
diff --git a/scripts/cmake/BuildExternalProject.cmake b/scripts/cmake/BuildExternalProject.cmake
index 22f9d772384960ed5000ccbe8b4c5d8f2fd79801..4a8172c0fbeb32c95ece15be3a8b4de6056b2f0b 100644
--- a/scripts/cmake/BuildExternalProject.cmake
+++ b/scripts/cmake/BuildExternalProject.cmake
@@ -29,7 +29,11 @@ macro(BuildExternalProject_set_build_dir target argn_string)
             IS_PREFIX PROJECT_BINARY_DIR "${CPM_SOURCE_CACHE}" _is_inside_build
         )
         if(NOT _is_inside_build)
-            string(SHA256 _hash "${CMAKE_GENERATOR};${argn_string}")
+            string(
+                SHA256
+                    _hash
+                    "${CMAKE_GENERATOR};${argn_string}${MSVC_TOOLSET_VERSION}"
+            )
             set(build_dir "${CPM_SOURCE_CACHE}/_ext/${target}/${_hash}")
         endif()
     endif()