I think that's normal with the puppy coat. I brush Franklin every day and his hair is messy as can be. It'll probably change as he gets older.
I would suggest changing his diet, though. Purina and Old Roy are not very good foods and I bet a better quality kibble could help his coat. Canidae, Wellness, Merrick, Innova, California Natural, Orijen (there's a million!) are all good foods. You can find them at independently owned pet stores or feed stores.
If THAT doesn't work, you can add a fish oil/Vitamin E supplement to his food. A lot of people use EicosaDerm, you can find it here
http://www.vetamerica.com/index.asp?...ROD&ProdID=674
Hope this helps!