Closed defects can be reopened due to some of the following reason:
1)Fix given for some other issue may reopen closed defects.
2)Deployment not properly done at the time of fixing new defects.
3)Build issue.
And hence to prevent such defects to reopen, regression testing should be performed on the main flow, scenarios before each testing phase is completed.
And also if time permits quick sanity testing could be carried out to ensure that there is no impact to the application or system before moving on to the next testing phase.