In the case when software bug is found at the initial phase then it should be removed during that phase itself rather than at any later phase.
It is a well-known fact that if a software bug is detained for later stages it is much more expensive.
On this picture you can see how an error is costly as the stages move forward:
If an error if found and eliminated during the requirement and design stage it is the most cost efficient. At the same time if an error eliminated during maintenance it is 20 times more expensive than during the requirement and design stages.
For example, if a software bug is found during requirement and design you just need to modify the documentation, but if it is found during the maintenance stage you need not only to fix an error, but change your test plans, conduct regression testing, and modify all documentation.
This is the reason why a software bug should be eliminated in earlier stages and software testing team should be involved right from the requirement stage, but not after the execution phase.