}
 
        if (inst->Type() == PRIM_BUF) {
-               module->addBufGate(inst_name, net_map_at(inst->GetInput()), net_map_at(inst->GetOutput()));
+               auto outnet = inst->GetOutput();
+               if (!any_all_nets.count(outnet))
+                       module->addBufGate(inst_name, net_map_at(inst->GetInput()), net_map_at(outnet));
                return true;
        }
 
 
                if (inst->Type() == PRIM_BUF) {
                        auto outnet = inst->GetOutput();
-                       if (!anyconst_nets.count(outnet) && !anyseq_nets.count(outnet) && !allconst_nets.count(outnet) && !allseq_nets.count(outnet))
+                       if (!any_all_nets.count(outnet))
                                module->addBufGate(inst_name, net_map_at(inst->GetInput()), net_map_at(outnet));
                        continue;
                }