diff --git a/Tests/BaseLib/TestAlgorithm.cpp b/Tests/BaseLib/TestAlgorithm.cpp
index 9fa7d72abe617078aece383e90b11df68d59456a..d102cb726cc45fdaaa134f03d9ab3a54c744bb6b 100644
--- a/Tests/BaseLib/TestAlgorithm.cpp
+++ b/Tests/BaseLib/TestAlgorithm.cpp
@@ -9,6 +9,7 @@
 
 #include <algorithm>
 #include <numeric>
+#include <random>
 #include <vector>
 
 #include <gtest/gtest.h>
@@ -19,12 +20,13 @@ TEST(BaseLibAlgorithm, testreorderVector)
 {
     const std::size_t size = 100;
     std::vector<double> vec(size);
-    std::generate(vec.begin(), vec.end(), std::rand);
+    std::default_random_engine random_engine;
+    std::generate(vec.begin(), vec.end(), random_engine);
     std::vector<double> vec0 = vec;
 
     std::vector<int> order(size);
     std::iota(order.begin(), order.end(), 0);
-    std::random_shuffle(order.begin(), order.end());
+    std::shuffle(order.begin(), order.end(), random_engine);
 
     BaseLib::reorderVector(vec, order);