diff --git a/test/gtest_factor_compass_3d.cpp b/test/gtest_factor_compass_3d.cpp
index 362e8b0748dfe724e6747377d19833a71c5c37cd..f438aa03fbc5c18ed3d6f0d87c26ed568c535a6d 100644
--- a/test/gtest_factor_compass_3d.cpp
+++ b/test/gtest_factor_compass_3d.cpp
@@ -44,9 +44,9 @@ void generateRandomSetup()
 
     // Random states
     frm_p = Vector3d::Random() * 10;
-    frm_q = Quaterniond(Vector4d::Random().normalized());
+    frm_q = Quaterniond::UnitRandom();
     sen_p = Vector3d::Random() * 10;
-    sen_q = Quaterniond(Vector4d::Random().normalized());
+    sen_q = Quaterniond::UnitRandom();
     sen_bias = Vector3d::Random();
     field = Vector3d::Random().normalized() * 50;