diff --git a/include/aidge/operator/Pad.hpp b/include/aidge/operator/Pad.hpp
index 810464f4d0f26b77c6a517ff99b305b9823e5d4d..5a2a760730ed2210a1e6dcbf05f9259268d8195e 100644
--- a/include/aidge/operator/Pad.hpp
+++ b/include/aidge/operator/Pad.hpp
@@ -112,9 +112,6 @@ public:
     }
 };
 
-template <DimIdx_t DIM>
-const std::string Pad_Op<DIM>::Type = "Pad";
-
 template <std::array<DimSize_t, 1>::size_type DIM>
 inline std::shared_ptr<Node> Pad(const std::array<DimSize_t, 2*DIM> &beginEndTuples,
                                            const std::string& name = "",
diff --git a/src/operator/Pad.cpp b/src/operator/Pad.cpp
index 8356b5da7083aae611869f08a76ad27c4cb499a0..c66e6c84af6df299e4786bbbb73767d6ee6374f5 100644
--- a/src/operator/Pad.cpp
+++ b/src/operator/Pad.cpp
@@ -10,6 +10,10 @@
  ********************************************************************************/
 
 #include "aidge/operator/Pad.hpp"
+#include "aidge/utils/Types.h"
+
+template <Aidge::DimIdx_t DIM>
+const std::string Aidge::Pad_Op<DIM>::Type = "Pad";
 
 template class Aidge::Pad_Op<1>;
 template class Aidge::Pad_Op<2>;
diff --git a/unit_tests/operator/Test_MetaOperator.cpp b/unit_tests/operator/Test_MetaOperator.cpp
index ed4afafe39a367ecabb25ff949eb3d03999d1ea9..17be4d710d8db5a8a8c17a246303c57d8990239e 100644
--- a/unit_tests/operator/Test_MetaOperator.cpp
+++ b/unit_tests/operator/Test_MetaOperator.cpp
@@ -129,6 +129,6 @@ TEST_CASE("[core/operators] MetaOperator", "[Operator][MetaOperator]") {
         REQUIRE(g->rootNode() == pop);
         g->save("lstm_expanded", true, true);
 
-        REQUIRE(g->getNodes().size() == 41);
+        REQUIRE(g->getNodes().size() == 33);
     }
 }
diff --git a/unit_tests/recipes/Test_removeFlatten.cpp b/unit_tests/recipes/Test_removeFlatten.cpp
index 84099ac0b77a633893af6a7550464e539c95d806..24f5aa2e231b5204add1c8f87cdeb7a71175ea05 100644
--- a/unit_tests/recipes/Test_removeFlatten.cpp
+++ b/unit_tests/recipes/Test_removeFlatten.cpp
@@ -27,8 +27,8 @@ namespace Aidge {
 TEST_CASE("[cpu/recipies] RemoveFlatten", "[RemoveFlatten][recipies]") {
   std::shared_ptr<Node> flatten =
       GenericOperator("Flatten", 1, 0, 1, "myFlatten");
-  std::shared_ptr<Node> fc0 = FC(10, 10, "FC_1");
-  std::shared_ptr<Node> fc1 = FC(10, 10, "FC_2");
+  std::shared_ptr<Node> fc0 = FC(10, 10, false, "FC_1");
+  std::shared_ptr<Node> fc1 = FC(10, 10, false, "FC_2");
   std::shared_ptr<Node> prod = Producer(std::array<DimSize_t, 10>(), "myProd");
 
   SECTION("flatten last layer : nothing removed because pattern searched is "