Finite difference migration routines require the solution of a sparse system of linear equations. If a bad algorithm for finding this solution is used then large errors will be introduced into the migration. In the worst of cases, these errors can be large enough to ruin the stability of an otherwise stable problem. This can be prevented by using Gaussian elimination with partial pivoting.