Does a finite first-order theory which has a model always have a finite model? I'm curious whether this is true or not:

Let T be a finite, first-order theory. If T has a model, then T has a finite model.

I would assume the answer is 'yes', but I wanted to make sure I haven't missed something obvious. The reason I believe this to be the case is that according to my understanding of the Lowenheim-Skolem theorem, the only way a countable first-order theory can 'force' a size onto its potential models is by including a countable number of constants which the model must have representations for. Therefore, if the theory is finite, then the number of constants it can 'force' to exist must also be finite, thereby ensuring the existence of a finite model (assuming any model can exist at all). Is anything wrong with my reasoning (apart from its relative informality)?

Here's a very simple example, which requires only one binary relation and equality.
A binary relation can be seen as the edge relation of a graph, so take the theory of the sentence 
"there is exactly one vertex of degree exactly one, and every other vertex has degree exactly two".
There is a model: you put one vertex of degree one, that you need to connect to a vertex of degree 2, which must be connected to a vertex of degree two, etc. Then you can easily check that there is no finite model to this theory.
