Index: uspace/lib/cpp/include/impl/random.hpp
===================================================================
--- uspace/lib/cpp/include/impl/random.hpp	(revision 1a617ac136f34d6a8a58ef6660784a48e7294c38)
+++ uspace/lib/cpp/include/impl/random.hpp	(revision 2fe861d024d7b2f951a1fe5b8d9ca9cb5333dd74)
@@ -117,4 +117,20 @@
                 : state_{}
             {
+                seed(q);
+            }
+
+            void seed(result_type s = default_seed)
+            {
+                if (c % modulus_ == 0 && s == 0)
+                    state_ = 0;
+                else
+                    state_ = s;
+            }
+
+            template<class Seq>
+            void seed(
+                enable_if_t<aux::is_seed_sequence_v<Seq, result_type>, Seq&> q
+            )
+            {
                 size_t k = static_cast<size_t>(aux::ceil(aux::log2(modulus_) / 32));
                 auto arr = new result_type[k + 3];
@@ -129,17 +145,4 @@
                 seed(s);
             }
-
-            void seed(result_type s = default_seed)
-            {
-                if (c % modulus_ == 0 && s == 0)
-                    state_ = 0;
-                else
-                    state_ = s;
-            }
-
-            template<class Seq>
-            void seed(
-                enable_if_t<aux::is_seed_sequence_v<Seq, result_type>, Seq&> q
-            );
 
             result_type operator()()
