There is a bug when features spanning the origin (which have end before they begin) are digest and religated. This creates a duplicate feature which encompasses most of the plasmid. The bug stems from Dseqrecord._multiply_circular. It can be fixed by adding this line
if new_feature.location.end < new_feature.location.start:
new_feature.location = FeatureLocation(new_feature.location.start, new_feature.location.end + len(self))
prior to this line:
new_features.append(new_feature)
I'm not sure how this would work with compound features, but it fixes the bug for normal features.