diff --git a/Mesh/yamakawa.cpp b/Mesh/yamakawa.cpp
index b6634631fdb733df970f80466d8781d51bb5ebb7..62d3a65bb1a5236cac617820affe7c924094833d 100644
--- a/Mesh/yamakawa.cpp
+++ b/Mesh/yamakawa.cpp
@@ -6385,7 +6385,7 @@ void Recombinator_Graph::execute(GRegion* gr) {
       Hex *other_hex = data_it->second;
       vertex_id other_vid = vertex_map[hex_to_tet[other_hex]];
 
-      if (!edge(vid, other_vid, graph).second) {
+      if (vid != other_vid && !edge(vid, other_vid, graph).second) {
         add_edge(vid, other_vid, graph);
       }
     }