Updated use case - it seems to work correctly now.
Found bug in source route update logic.