fix the previous commit, and guard the logic with an assertion for src
== dst case.