--- a/lib/circogen/blocktree.c
+++ b/lib/circogen/blocktree.c
@@ -118,7 +132,7 @@ static void dfs(Agraph_t * g, Agnode_t * u, circ_state * state, int isRoot, esta
 		    }
                 } while (ep != e);
 		if (block) {	/* If block != NULL, it's not empty */
-		    if (blockSize (block) > 1)
+		    if (!BLOCK(u) && blockSize (block) > 1)
 			addNode(block, u);
 		    if (isRoot && (BLOCK(u) == block))
 			insertBlock(&state->bl, block);
