diff --git a/api/results.go b/api/results.go
index 19424dd541097f4338b9efe01bb2f53dc39a0ca9..1e8a75bab509b4773f6d66a04bfb68b7f746cea6 100644
--- a/api/results.go
+++ b/api/results.go
@@ -93,13 +93,6 @@ func (c *Client) getRoundResults(roundList []id.Round, timeout time.Duration,
 
 	oldestRound := networkInstance.GetOldestRoundID()
 
-	// Set a lower timeout so there is room for retries,
-	// while ensuring it does not go too low and cause too many timeouts
-	roundEventTimeout := 5 * time.Second
-	if timeout < roundEventTimeout {
-		roundEventTimeout = timeout
-	}
-
 	// Parse and adjudicate every round
 	for _, rnd := range roundList {
 		// Every round is timed out by default, until proven to have finished
@@ -116,7 +109,7 @@ func (c *Client) getRoundResults(roundList []id.Round, timeout time.Duration,
 			} else {
 				// If in progress, add a channel monitoring its state
 				roundEvents.AddRoundEventChan(rnd, sendResults,
-					roundEventTimeout, states.COMPLETED, states.FAILED)
+					timeout-time.Millisecond, states.COMPLETED, states.FAILED)
 				numResults++
 			}
 		} else {
@@ -129,7 +122,7 @@ func (c *Client) getRoundResults(roundList []id.Round, timeout time.Duration,
 			} else {
 				// Otherwise, monitor its progress
 				roundEvents.AddRoundEventChan(rnd, sendResults,
-					roundEventTimeout, states.COMPLETED, states.FAILED)
+					timeout-time.Millisecond, states.COMPLETED, states.FAILED)
 				numResults++
 			}
 		}
@@ -158,16 +151,13 @@ func (c *Client) getRoundResults(roundList []id.Round, timeout time.Duration,
 				roundCallback(false, true, roundsResults)
 				return
 			case roundReport := <-sendResults:
-				// Skip if the round is timed out, meaning unknown from historical rounds
-				// or timed out on RoundEvents channel
+
+				numResults--
+
+				// Skip if the round is nil (unknown from historical rounds)
+				// they default to timed out, so correct behavior is preserved
 				if roundReport.TimedOut {
-					// Generate a message to track the timed out round
-					timeoutRequest := &pb.HistoricalRounds{
-						Rounds: []uint64{roundReport.RoundInfo.ID},
-					}
-					// Request that round's information, feeding back into sendResults
-					jww.DEBUG.Printf("Sending HistoricalRounds retry for Round %d", roundReport.RoundInfo.ID)
-					go c.getHistoricalRounds(timeoutRequest, sendResults, commsInterface)
+					allRoundsSucceeded = false
 				} else {
 					// If available, denote the result
 					roundId := id.Round(roundReport.RoundInfo.ID)
@@ -176,8 +166,8 @@ func (c *Client) getRoundResults(roundList []id.Round, timeout time.Duration,
 					} else {
 						roundsResults[roundId] = Failed
 						allRoundsSucceeded = false
+
 					}
-					numResults--
 				}
 			}
 		}