I haven't really studied database design past the basics, but I'm currently designing an application that what looks like I'll need a lookup table between two tables, one being a regular table and one already being a lookup table. I'm wondering, is this alright or is something wrong with my design if I suddenly need to do a many to many relationship with a lookup table?

Here is an illustration if the above paragraph is confusing:

Code:
Table1 -----< Lookup Table1 (Table1 + Table2) >----- Table2
                              V
                              |
                              |
                              |
                              |
                              ^
Table3 -----< Lookup Table2 (Table3 + Lookup Table1)
Is this a normal thing or is there a flaw in my design if this is occurring?