Abstract Usually, a mesh created by an automatic mesh generator is of low quality. In order to improve the mesh quality, a smoothing algorithm is applied on the mesh. The result is a mesh ready for analysis. The smoothing is a CPU intensive iterative process. In some cases, smoothing may take longer than the initial mesh creation. In this work an optimized smoothing algorithm is presented. While iterating, the algorithm recognizes nodes that are sufficiently smoothed, and ignores them in subsequent iterations. Progressively, a smaller and smaller subset of nodes is smoothed. The result is less CPU time spent per iteration, and some decrease in the total number of iterations. This method, called subsmoothing, is applied on Laplacian smoothing of shell meshes. Examples show 30% CPU time savings and little change in mesh quality (¼%).