diff --git a/CMakeLists.txt b/CMakeLists.txt
index 58f587b35e829f4726635741f61883dc2d77e5fd..eaafb9f3fc69e24b63e3b3175e19f8375c2e0e77 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -144,7 +144,6 @@ if(NOT TURTLE_FOUND AND ALLOW_DEPENDENCIES_DOWNLOAD)
 endif()
 
 message("Checking Armadillo dependencies")
-option(DOWNLOAD_OPENBLAS OFF)
 find_package(LAPACK)
 find_package(BLAS)
 if(NOT LAPACK_FOUND AND NOT BLAS_FOUND AND ALLOW_DEPENDENCIES_DOWNLOAD)
diff --git a/DownloadOpenBLAS.cmake b/DownloadOpenBLAS.cmake
index 225a9029ff6ea5681e5bfa808866f031c73ea7f3..6ed2511ece221f95c1304c15a979e916d668f842 100644
--- a/DownloadOpenBLAS.cmake
+++ b/DownloadOpenBLAS.cmake
@@ -20,29 +20,30 @@ FetchContent_Populate(OpenBLAS)
 ##################
 # Build OpenBLAS #
 ##################
-execute_process(
-    COMMAND cmake -j ${N_CORES} .
-    WORKING_DIRECTORY ${OPENBLAS_LOCAL_PATH}
-    RESULT_VARIABLE rv
-)
-if(NOT rv STREQUAL "0")
-    message("OpenBLAS build: cmake .: ${rv}")
-endif()
-
-execute_process(
-    COMMAND cmake --build . -j ${N_CORES} --config Release
-    WORKING_DIRECTORY ${OPENBLAS_LOCAL_PATH}
-    RESULT_VARIABLE rv
-)
-if(NOT rv STREQUAL "0")
-    message("OpenBLAS build: cmake --build . -j ${N_CORES}: ${rv}")
-endif()
-
-set(BLAS_DIR external_dependencies/OpenBLAS)
-message("BLAS_DIR " ${BLAS_DIR})
-find_package(BLAS)
+#execute_process(
+#    COMMAND cmake -j ${N_CORES} .
+#    WORKING_DIRECTORY ${OPENBLAS_LOCAL_PATH}
+#    RESULT_VARIABLE rv
+#)
+#if(NOT rv STREQUAL "0")
+#    message("OpenBLAS build: cmake .: ${rv}")
+#endif()
+#
+#execute_process(
+#    COMMAND cmake --build . -j ${N_CORES} --config Release
+#    WORKING_DIRECTORY ${OPENBLAS_LOCAL_PATH}
+#    RESULT_VARIABLE rv
+#)
+#if(NOT rv STREQUAL "0")
+#    message("OpenBLAS build: cmake --build . -j ${N_CORES}: ${rv}")
+#endif()
+
+set(OpenBLAS_DIR ${CMAKE_CURRENT_LIST_DIR}/external_dependencies/OpenBLAS)
+find_package(OpenBLAS)
 
 if(NOT BLAS_FOUND)
     message(FATAL_ERROR "OpenBLAS was not downloaded successfully!")
+else()
+    message("OpenBLAS libraries: "${BLAS_LIBRARIES})
 endif()
 
diff --git a/FindOpenBLAS.cmake b/FindOpenBLAS.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..7ba8459167926b851958f0dac78875e85552d675
--- /dev/null
+++ b/FindOpenBLAS.cmake
@@ -0,0 +1,65 @@
+message("FindOpenBLAS starting...")
+
+SET(Open_BLAS_INCLUDE_SEARCH_PATHS
+        ${OpenBLAS_INCLUDE_DIRECTORY}
+        $ENV{OpenBLAS_INCLUDE_DIRECTORY}
+        /usr/include
+        /usr/include/openblas
+        /usr/include/openblas-base
+        /usr/local/include
+        /usr/local/include/openblas
+        /usr/local/include/openblas-base
+        /opt/OpenBLAS/include
+        ${CMAKE_CURRENT_LIST_DIR}/external_dependencies/OpenBLAS
+        )
+
+SET(Open_BLAS_LIB_SEARCH_PATHS
+        ${OpenBLAS_LIBRARY_DIRECTORY}
+        $ENV{OpenBLAS_LIBRARY_DIRECTORY}
+        /lib/
+        /lib/openblas-base
+        /lib64/
+        /usr/lib
+        /usr/lib/openblas-base
+        /usr/lib64
+        /usr/local/lib
+        /usr/local/lib64
+        /opt/OpenBLAS/lib
+        ${CMAKE_CURRENT_LIST_DIR}/external_dependencies/OpenBLAS/lib
+        )
+
+FIND_PATH(OpenBLAS_INCLUDE_DIR
+    NAMES
+    cblas.h
+
+    PATHS
+        ${Open_BLAS_INCLUDE_SEARCH_PATHS}
+)
+
+FIND_LIBRARY(OpenBLAS_LIBRARIES
+    NAMES
+    openblas
+
+    PATHS
+        ${Open_BLAS_LIB_SEARCH_PATHS}
+)
+
+# Set OpenBLAS_Found
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+        OpenBLAS
+
+        FAIL_MESSAGE
+            "OpenBLAS was NOT found!"
+
+        REQUIRED_VARS
+            OpenBLAS_INCLUDE_DIR
+            OpenBLAS_LIBRARY_DIR
+)
+
+IF (OpenBLAS_FOUND)
+   MESSAGE(STATUS "Found OpenBLAS libraries: ${OpenBLAS_LIBRARIES}")
+   MESSAGE(STATUS "Found OpenBLAS include: ${OpenBLAS_INCLUDE_DIR}")
+ ELSE()
+    MESSAGE("Could not find OpenBLAS")
+ENDIF()