In this paper, we propose, analyze, and test a new fully discrete, efficient,decoupled, stable, and practically second-order time-stepping algorithm . The algorithm shares the same system matrix with all $J$realizations but with different right-hand-side vectors . That saves assembling time and computer memory, allows the reuse of the same preconditioner, and cantake the advantage of block linear solvers . For each viscosity and magnetic diffusivity pair, the algorithm picks the largest possible parameter $\theta\in[0,1]$ to avoid theinstability that arises due to the presence of some explicit viscous terms . We test the scheme on abenchmark channel flow over a step problem and it performs well