I have the same problem and SuperKu's tip works very well. But since models can become very complex it is not always so easy to do and the number of vertices in the model would increase significantly. A simple cube would have 24 vertices instead of only 8.

So I have another question according this problem:
When are the surface normals computed? Are they already stored in the model, created when the model is loaded or before rendering a new frame? And is it possible to manipulate the normals?