Non-smooth conditions in partial differential equations cause discretization error in numerical schemes and lead to decay in the convergence rate. Here the K -shifting method is introduced for easy handling of uniform and nonuniform meshes and for one or more singularities in the terminal condition. Combining this method with Rannacher time stepping and mesh grading for the Crank-Nicolson Finite Difference Method on some examples including call options, bet options and a butterfly spread is shown to lead to higher accuracy and better convergence rate for the numerical solution.