Sounds like it might be a path order/direction problem? First I'd check that your paths inside other paths always alternate direction (so e.g. the outer one goes clockwise, first one inside goes anticlockwise, the one inside that goes clockwise again). If they're all alternating already then try reversing all the paths.