This I know from experience....because my husband cleans carpets....if your yorkie is smelling urine in the carpet ....even if you've cleaned it well...(it leaks down deep into the pad) he/she will continually urinate in that area....have you used Carpet Enzyme after the puppy has an accident...its really important that after you clean the area real good, that you put enough enzyme on the carpet for the urine smell to be totally eaten up by the bacteria...and that will take a couple days to dry....... We took my little yorkie and my sisters yorkie to a friends house...who had several dogs and they obviously had pottied on the carpet...and both of our yorkies started to potty on their carpets......even though they had just been taken out. Once you use the enzyme on those areas...I would cover them with a towel or something just so that the enzyme has time to eat up the odors....And after treated the puppy won't smell the urine in the carpet anymore....Now if you've already used Carpet Enzyme each time......then sadly I don't know what else could be the problem..........So hope this has helped! Good luck!