What kind of controller do you have?
It sounds like you have a second start time on your program. Most newer model controllers have stackable programming
For Example
If you have 4 zones that have the run time of 10 minutes each- your total run time is 40 min.
If you have Program A with a start time 1 or 8AM- it will water the 40 minutes. Well this program , can have more start times. If you have a start time 2 at 8AM again. The controller does what is called stackable programming. It will finish Start time 1 , then revert back to start time 2..
Please read your manual to understand this more clearly.
Go through your programming and make sure you have ONLY 1 start time on your program