5 PM is very early to be feeding a "dinner" meal IMO. Many dogs digest within 8 hours so your dog is probably hungry for a fair amount of time before you wake up and feed her again. Many times, if they're doing something, they don't get the reflex to puke because they're busy, but if they're just laying around, it happens. Plus, during the day (especially the evening) you're likely training and giving treats to fill the stomach.
My dog would puke bile in the morning a lot when we would feed him early. We started to feed around 9-10 and he's fine now until the morning.