diff --git a/blobtree_structure/src/blobtree.cpp b/blobtree_structure/src/blobtree.cpp
index ede0fa8..8497fd1 100644
--- a/blobtree_structure/src/blobtree.cpp
+++ b/blobtree_structure/src/blobtree.cpp
@@ -372,8 +372,7 @@ bool replace_primitive_node(const virtual_node_t& node, primitive_node_t&& new_p
 
     const uint32_t primitive_index = node_fetch_primitive_index(node_in_tree);
     auto&          primitive       = primitives[primitive_index];
-    primitive.~primitive_node_t();
-    primitive = std::move(new_primitive_node);
+    primitive.swap(new_primitive_node);
 
     return true;
 }
diff --git a/frontend/src/implicit_surface_network_processor.cpp b/frontend/src/implicit_surface_network_processor.cpp
index 8b2a81c..cf7c1bf 100644
--- a/frontend/src/implicit_surface_network_processor.cpp
+++ b/frontend/src/implicit_surface_network_processor.cpp
@@ -84,7 +84,7 @@ solve_result_t ImplicitSurfaceNetworkProcessor::run(const virtual_node_t& tree_n
             const auto& point = background_vertices[i];
             for (uint32_t j = 0; j < num_funcs; ++j) {
                 vertex_scalar_values[i][j] = evaluate_sdf(j, point);
-                const auto sign = scalar_field_sign(vertex_scalar_values[i][j]);
+                const auto sign            = scalar_field_sign(vertex_scalar_values[i][j]);
                 switch (sign) {
                     case -1: is_negative_scalar_field_sign[i][j] = true; break;
                     case 0: