diff --git a/src/graph/Testing.cpp b/src/graph/Testing.cpp
index 349b1e3456437e6be3fec251626107ed99679ec1..ad193f000b787c458b29934e8b95c122ef15f409 100644
--- a/src/graph/Testing.cpp
+++ b/src/graph/Testing.cpp
@@ -40,6 +40,11 @@ std::pair<Aidge::NodePtr, std::set<Aidge::NodePtr>> Aidge::RandomGraph::gen(std:
 
     for (size_t i = 0; i < nbNodes; ++i) {
         for (size_t j = (acyclic) ? i + 1 : 0; j < nbNodes; ++j) {
+            if (i == j) {
+                // Do not connected node to itself in case of cyclic graph!
+                continue;
+            }
+
             for (size_t outId = 0; outId < nodes[i]->nbOutputs(); ++outId) {
                 for (size_t inId = 0; inId < nodes[j]->nbInputs(); ++inId) {
                     if (dLink(gen)) {
diff --git a/unit_tests/graph/Test_GraphView.cpp b/unit_tests/graph/Test_GraphView.cpp
index 66f110cb13c4c68f062c9393817ebd589c40f6e6..25aa4b461da3841c4cd82ac477ad9db72b0619cc 100644
--- a/unit_tests/graph/Test_GraphView.cpp
+++ b/unit_tests/graph/Test_GraphView.cpp
@@ -123,7 +123,10 @@ TEST_CASE("clone_with_delete") {
     // graphs keep the same inputs/outputs despites the deleted nodes
     // (meaning the deleted nodes are not input/output of the graph).
     // Otherwise, the last two REQUIRE are not garanteed to be true!
-    std::mt19937::result_type seed(42);
+    // Warning: distributions are not required to behave the same way by the standard,
+    // therefore the seed has to work for both GCC and MSVC...
+    // See https://stackoverflow.com/questions/38532927/why-gcc-and-msvc-stdnormal-distribution-are-different
+    std::mt19937::result_type seed(243);
 
     for (int test = 0; test < nbTests; ++test) {
         RandomGraph randGraph;